From bcedfb318cded7190b86829d3e07834e4d6ab2de Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Wed, 1 May 2024 09:51:26 +0100 Subject: [PATCH 01/19] Centralize keyboard shortcuts (#1175) This also adds two new keyboard shortcuts: Save project hex: (Windows) Ctrl+Shift+S; (Mac) Cmd+Shift+S Send to micro:bit: (Windows) Ctrl+Shift+E; (Mac) Cmd+Shift+E --- package-lock.json | 10 ++++ package.json | 1 + src/common/GenericDialog.tsx | 3 +- src/common/InputDialog.tsx | 3 +- src/common/PostSaveDialog.tsx | 3 +- src/common/keyboard-shortcuts.ts | 14 +++++ src/documentation/api/ApiNode.tsx | 21 +++----- src/documentation/common/CodeEmbed.tsx | 23 +++----- src/project/SaveButton.tsx | 13 ++++- src/project/SendButton.tsx | 53 +++++++++++++------ src/project/project-actions.tsx | 36 ++++++------- src/workbench/SideBarHeader.tsx | 47 +++++++--------- .../connect-dialogs/ConnectDialog.tsx | 3 +- .../connect-dialogs/FirmwareDialog.tsx | 3 +- .../connect-dialogs/NotFoundDialog.tsx | 3 +- .../connect-dialogs/TransferHexDialog.tsx | 3 +- .../connect-dialogs/WebUSBDialog.tsx | 3 +- 17 files changed, 139 insertions(+), 103 deletions(-) create mode 100644 src/common/keyboard-shortcuts.ts diff --git a/package-lock.json b/package-lock.json index 862699247..093933d50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,6 +50,7 @@ "mobile-drag-drop": "^2.3.0-rc.2", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-hotkeys-hook": "^4.5.0", "react-icons": "^4.8.0", "react-intl": "^6.2.10", "vite": "^5.1.5", @@ -8808,6 +8809,15 @@ } } }, + "node_modules/react-hotkeys-hook": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.5.0.tgz", + "integrity": "sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==", + "peerDependencies": { + "react": ">=16.8.1", + "react-dom": ">=16.8.1" + } + }, "node_modules/react-icons": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", diff --git a/package.json b/package.json index c4df05d20..6e0eff4f0 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "mobile-drag-drop": "^2.3.0-rc.2", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-hotkeys-hook": "^4.5.0", "react-icons": "^4.8.0", "react-intl": "^6.2.10", "vite": "^5.1.5", diff --git a/src/common/GenericDialog.tsx b/src/common/GenericDialog.tsx index c1e92a1d5..ba7e54790 100644 --- a/src/common/GenericDialog.tsx +++ b/src/common/GenericDialog.tsx @@ -16,6 +16,7 @@ import { ThemingProps } from "@chakra-ui/styled-system"; import { ReactNode } from "react"; import { FormattedMessage } from "react-intl"; import ModalCloseButton from "./ModalCloseButton"; +import { FinalFocusRef } from "../project/project-actions"; export interface GenericDialogProps { header?: ReactNode; @@ -24,7 +25,7 @@ export interface GenericDialogProps { size?: ThemingProps<"Button">["size"]; onClose: () => void; returnFocusOnClose?: boolean; - finalFocusRef?: React.RefObject; + finalFocusRef?: FinalFocusRef; } export const GenericDialog = ({ diff --git a/src/common/InputDialog.tsx b/src/common/InputDialog.tsx index ca258d13b..8d13f8e45 100644 --- a/src/common/InputDialog.tsx +++ b/src/common/InputDialog.tsx @@ -16,6 +16,7 @@ import { import { ThemeTypings } from "@chakra-ui/styled-system"; import { ReactNode, useCallback, useState } from "react"; import { FormattedMessage } from "react-intl"; +import { FinalFocusRef } from "../project/project-actions"; export interface InputValidationResult { ok: boolean; @@ -39,7 +40,7 @@ export interface InputDialogProps { actionLabel: string; size?: ThemeTypings["components"]["Modal"]["sizes"]; validate?: (input: T) => InputValidationResult; - finalFocusRef?: React.RefObject; + finalFocusRef?: FinalFocusRef; callback: (value: ValueOrCancelled) => void; } diff --git a/src/common/PostSaveDialog.tsx b/src/common/PostSaveDialog.tsx index 7a6d76a0f..5fdbcc14e 100644 --- a/src/common/PostSaveDialog.tsx +++ b/src/common/PostSaveDialog.tsx @@ -8,6 +8,7 @@ import { ReactNode, useCallback } from "react"; import { FormattedMessage } from "react-intl"; import { GenericDialog, GenericDialogFooter } from "../common/GenericDialog"; import { useProject } from "../project/project-hooks"; +import { FinalFocusRef } from "../project/project-actions"; export const enum PostSaveChoice { ShowTransferHexHelp, @@ -18,7 +19,7 @@ export const enum PostSaveChoice { interface PostSaveDialogProps { callback: (value: PostSaveChoice) => void; dialogNormallyHidden: boolean; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } export const PostSaveDialog = ({ diff --git a/src/common/keyboard-shortcuts.ts b/src/common/keyboard-shortcuts.ts new file mode 100644 index 000000000..dbc213970 --- /dev/null +++ b/src/common/keyboard-shortcuts.ts @@ -0,0 +1,14 @@ +// Shortcuts are global unless noted otherwise. +export const keyboardShortcuts = { + // This is scoped by keyboard focus. + copyCode: ["ctrl+c", "meta+c", "enter"], + search: ["ctrl+shift+f", "meta+shift+f"], + sendToMicrobit: ["ctrl+shift+e", "meta+shift+e"], + saveProject: ["ctrl+shift+s", "meta+shift+s"], +}; + +export const globalShortcutConfig = { + preventDefault: true, + enableOnContentEditable: true, + enableOnFormTags: true, +}; diff --git a/src/documentation/api/ApiNode.tsx b/src/documentation/api/ApiNode.tsx index d245123d2..9c1c6eae2 100644 --- a/src/documentation/api/ApiNode.tsx +++ b/src/documentation/api/ApiNode.tsx @@ -41,6 +41,8 @@ import ShowMoreButton from "../common/ShowMoreButton"; import { allowWrapAtPeriods } from "../common/wrap"; import { useCodeDragImage } from "../documentation-hooks"; import Highlight from "../reference/Highlight"; +import { useHotkeys } from "react-hotkeys-hook"; +import { keyboardShortcuts } from "../../common/keyboard-shortcuts"; const kindToFontSize: Record = { module: "2xl", @@ -422,20 +424,9 @@ const DraggableSignature = ({ onCopy(); await actions?.copyCode(code, codeWithImports, type, id); }, [actions, code, codeWithImports, onCopy, type, id]); - const isMac = /Mac/.test(navigator.platform); - const handleKeyDown = useCallback( - async (e: React.KeyboardEvent) => { - if (e.key === "Enter") { - e.preventDefault(); - handleCopyCode(); - } - if ((e.key === "c" || e.key === "C") && (isMac ? e.metaKey : e.ctrlKey)) { - e.preventDefault(); - handleCopyCode(); - } - }, - [handleCopyCode, isMac] - ); + const hotKeysRef = useHotkeys(keyboardShortcuts.copyCode, handleCopyCode, { + preventDefault: true, + }); const intl = useIntl(); const [{ dragDropSuccess }] = useSessionSettings(); return ( @@ -448,6 +439,7 @@ const DraggableSignature = ({ isDisabled={dragDropSuccess} > diff --git a/src/documentation/common/CodeEmbed.tsx b/src/documentation/common/CodeEmbed.tsx index 531cbe042..b2e34d463 100644 --- a/src/documentation/common/CodeEmbed.tsx +++ b/src/documentation/common/CodeEmbed.tsx @@ -13,6 +13,7 @@ import { } from "@chakra-ui/react"; import { forwardRef } from "@chakra-ui/system"; import React, { + LegacyRef, Ref, useCallback, useEffect, @@ -33,6 +34,8 @@ import { useSessionSettings } from "../../settings/session-settings"; import DragHandle from "../common/DragHandle"; import { useCodeDragImage } from "../documentation-hooks"; import CodeActionButton from "./CodeActionButton"; +import { useHotkeys } from "react-hotkeys-hook"; +import { keyboardShortcuts } from "../../common/keyboard-shortcuts"; interface CodeEmbedProps { code: string; @@ -132,20 +135,9 @@ const CodeEmbed = ({ const textHeight = lineCount * 1.375 + "em"; const codeHeight = `calc(${textHeight} + var(--chakra-space-2) + var(--chakra-space-2))`; const codePopUpHeight = `calc(${codeHeight} + 2px)`; // Account for border. - const isMac = /Mac/.test(navigator.platform); - const handleKeyDown = useCallback( - async (e: React.KeyboardEvent) => { - if (e.key === "Enter") { - e.preventDefault(); - handleCopyCode(); - } - if ((e.key === "c" || e.key === "C") && (isMac ? e.metaKey : e.ctrlKey)) { - e.preventDefault(); - handleCopyCode(); - } - }, - [handleCopyCode, isMac] - ); + const hotKeysRef = useHotkeys(keyboardShortcuts.copyCode, handleCopyCode, { + preventDefault: true, + }) as LegacyRef; const determineBackground = () => { if ( (toolkitType === "ideas" && state === "highlighted") || @@ -157,7 +149,7 @@ const CodeEmbed = ({ }; return ( - + {state === "raised" && ( diff --git a/src/project/SaveButton.tsx b/src/project/SaveButton.tsx index 4d6528ee5..eece5280e 100644 --- a/src/project/SaveButton.tsx +++ b/src/project/SaveButton.tsx @@ -4,13 +4,18 @@ * SPDX-License-Identifier: MIT */ import { Tooltip } from "@chakra-ui/react"; -import { useRef } from "react"; +import { useCallback, useRef } from "react"; import { RiDownload2Line } from "react-icons/ri"; import { useIntl } from "react-intl"; import CollapsibleButton, { CollapsibleButtonProps, } from "../common/CollapsibleButton"; import { useProjectActions } from "./project-hooks"; +import { useHotkeys } from "react-hotkeys-hook"; +import { + globalShortcutConfig, + keyboardShortcuts, +} from "../common/keyboard-shortcuts"; interface SaveButtonProps extends Omit {} @@ -27,6 +32,12 @@ const SaveButton = (props: SaveButtonProps) => { const actions = useProjectActions(); const intl = useIntl(); const menuButtonRef = useRef(null); + const activeElementRef = useRef(null); + const handleSave = useCallback(() => { + activeElementRef.current = document.activeElement as HTMLElement; + actions.save(activeElementRef); + }, [actions]); + useHotkeys(keyboardShortcuts.saveProject, handleSave, globalShortcutConfig); return ( { - if (flashing.current.flashing) { - // Ignore repeated clicks. - return; - } - flashing.current = { - flashing: true, - lastCompleteFlash: flashing.current.lastCompleteFlash, - }; - try { - await actions.flash(sendButtonRef); - } finally { + const handleSendToMicrobit = useCallback( + async (finalFocusRef: FinalFocusRef) => { + if (flashing.current.flashing) { + // Ignore repeated clicks. + return; + } flashing.current = { - flashing: false, - lastCompleteFlash: new Date().getTime(), + flashing: true, + lastCompleteFlash: flashing.current.lastCompleteFlash, }; - } - }, [flashing, actions, sendButtonRef]); + try { + await actions.flash(finalFocusRef); + } finally { + flashing.current = { + flashing: false, + lastCompleteFlash: new Date().getTime(), + }; + } + }, + [flashing, actions] + ); const handleFocus = useCallback( (e: FocusEvent) => { const inProgress = flashing.current.flashing; @@ -79,6 +88,16 @@ const SendButton = React.forwardRef( [flashing] ); const menuButtonRef = useRef(null); + const activeElementRef = useRef(null); + const handleSendToMicrobitShortcut = useCallback(() => { + activeElementRef.current = document.activeElement as HTMLElement; + handleSendToMicrobit(activeElementRef); + }, [handleSendToMicrobit]); + useHotkeys( + keyboardShortcuts.sendToMicrobit, + handleSendToMicrobitShortcut, + globalShortcutConfig + ); return ( @@ -96,7 +115,7 @@ const SendButton = React.forwardRef( size={size} variant="solid" leftIcon={} - onClick={handleSendToMicrobit} + onClick={() => handleSendToMicrobit(sendButtonRef)} > diff --git a/src/project/project-actions.tsx b/src/project/project-actions.tsx index 31c8346a4..c794e27bd 100644 --- a/src/project/project-actions.tsx +++ b/src/project/project-actions.tsx @@ -76,6 +76,8 @@ import ProjectNameQuestion from "./ProjectNameQuestion"; */ export type LoadType = "drop-load" | "file-upload"; +export type FinalFocusRef = React.RefObject | undefined; + export interface MainScriptChoice { main: string | undefined; } @@ -120,7 +122,7 @@ export class ProjectActions { connect = async ( forceConnectHelp: boolean, userAction: ConnectionAction, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ): Promise => { this.logging.event({ type: "connect", @@ -147,7 +149,7 @@ export class ProjectActions { */ private async showConnectHelp( force: boolean, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ): Promise { const showConnectHelpSetting = this.settings.values.showConnectHelp; if ( @@ -186,11 +188,11 @@ export class ProjectActions { private async connectInternal( options: ConnectOptions, userAction: ConnectionAction, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ) { try { await this.device.connect(options); - finalFocusRef.current?.focus(); + finalFocusRef?.current?.focus(); return true; } catch (e) { this.handleWebUSBError(e, userAction, finalFocusRef); @@ -201,7 +203,7 @@ export class ProjectActions { /** * Disconnect from the device. */ - disconnect = async (finalFocusRef: React.RefObject) => { + disconnect = async (finalFocusRef: FinalFocusRef) => { this.logging.event({ type: "disconnect", }); @@ -488,7 +490,7 @@ export class ProjectActions { * Flash the device, reporting progress via a dialog. */ flash = async ( - finalFocusRef: React.RefObject, + finalFocusRef: FinalFocusRef, tryAgain?: boolean ): Promise => { this.logging.event({ @@ -547,7 +549,7 @@ export class ProjectActions { * Trigger a browser download with a universal hex file. */ save = async ( - finalFocusRef: React.RefObject, + finalFocusRef: FinalFocusRef, saveViaWebUsbNotSupported?: boolean ) => { this.logging.event({ @@ -728,7 +730,7 @@ export class ProjectActions { isDefaultProjectName = (): boolean => this.fs.project.name === undefined; ensureProjectName = async ( - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ): Promise => { if (this.isDefaultProjectName()) { return await this.editProjectName(true, finalFocusRef); @@ -738,7 +740,7 @@ export class ProjectActions { editProjectName = async ( isSave: boolean = false, - finalFocusRef?: React.RefObject + finalFocusRef?: FinalFocusRef ) => { const name = await this.dialogs.show((callback) => ( + finalFocusRef: FinalFocusRef ) => { if (choice !== ConnectErrorChoice.TRY_AGAIN) { return; @@ -799,7 +801,7 @@ export class ProjectActions { private async handleNotFound( userAction: ConnectionAction, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ) { const choice = await this.dialogs.show((callback) => ( @@ -810,7 +812,7 @@ export class ProjectActions { private async handleFirmwareUpdate( _errorCode: WebUSBErrorCode, userAction: ConnectionAction, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ) { this.device.clearDevice(); const choice = await this.dialogs.show((callback) => ( @@ -822,7 +824,7 @@ export class ProjectActions { private async handleWebUSBError( e: any, userAction: ConnectionAction, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ) { if (e instanceof WebUSBError) { this.device.emit(EVENT_END_USB_SELECT); @@ -857,7 +859,7 @@ export class ProjectActions { } private async webusbNotSupportedError( - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ): Promise { if (this.sessionSettings.values.showWebUsbNotSupported) { await this.dialogs.show((callback) => ( @@ -939,9 +941,7 @@ export class ProjectActions { } } - private async handlePostSaveDialog( - finalFocusRef: React.RefObject - ) { + private async handlePostSaveDialog(finalFocusRef: FinalFocusRef) { const showPostSaveHelpSetting = this.settings.values.showPostSaveHelp; if (!showPostSaveHelpSetting) { return; @@ -966,7 +966,7 @@ export class ProjectActions { private async handleTransferHexDialog( forceTransferHexHelp: boolean, - finalFocusRef: React.RefObject + finalFocusRef: FinalFocusRef ) { const showTransferHexHelpSetting = this.settings.values.showTransferHexHelp; if (!forceTransferHexHelp && !showTransferHexHelpSetting) { diff --git a/src/workbench/SideBarHeader.tsx b/src/workbench/SideBarHeader.tsx index a3e812df2..511059111 100644 --- a/src/workbench/SideBarHeader.tsx +++ b/src/workbench/SideBarHeader.tsx @@ -33,6 +33,11 @@ import SearchDialog from "../documentation/search/SearchDialog"; import { useLogging } from "../logging/logging-hooks"; import { RouterState, useRouterState } from "../router-hooks"; import { useSettings } from "../settings/settings"; +import { useHotkeys } from "react-hotkeys-hook"; +import { + globalShortcutConfig, + keyboardShortcuts, +} from "../common/keyboard-shortcuts"; interface SideBarHeaderProps { sidebarShown: boolean; @@ -72,35 +77,21 @@ const SideBarHeader = ({ const [{ languageId }] = useSettings(); const searchAvailable = supportedSearchLanguages.includes(languageId); - // When we add more keyboard shortcuts, we should pull this up and have a CM-like model of the - // available actions and their shortcuts, with a hook used here to register a handler for the action. - useEffect(() => { - const isMac = /Mac/.test(navigator.platform); - const keydown = (e: KeyboardEvent) => { - if ( - (e.key === "F" || e.key === "f") && - (isMac ? e.metaKey : e.ctrlKey) && - e.shiftKey && - !e.repeat && - searchAvailable - ) { - handleModalOpened(); - if (!sidebarShown) { - onSidebarToggled(); - } + + const handleSearchShortcut = useCallback(() => { + if (searchAvailable) { + handleModalOpened(); + if (!sidebarShown) { + onSidebarToggled(); } - }; - document.addEventListener("keydown", keydown); - return () => { - document.removeEventListener("keydown", keydown); - }; - }, [ - onSidebarToggled, - searchModal, - sidebarShown, - handleModalOpened, - searchAvailable, - ]); + } + }, [handleModalOpened, onSidebarToggled, searchAvailable, sidebarShown]); + + useHotkeys( + keyboardShortcuts.search, + handleSearchShortcut, + globalShortcutConfig + ); const handleQueryChange: React.ChangeEventHandler = useCallback( diff --git a/src/workbench/connect-dialogs/ConnectDialog.tsx b/src/workbench/connect-dialogs/ConnectDialog.tsx index 612aabeea..2ae12ffe2 100644 --- a/src/workbench/connect-dialogs/ConnectDialog.tsx +++ b/src/workbench/connect-dialogs/ConnectDialog.tsx @@ -10,6 +10,7 @@ import { FormattedMessage } from "react-intl"; import { GenericDialog } from "../../common/GenericDialog"; import ConnectCableDialogBody from "./ConnectCableDialog"; import ConnectHelpDialogBody from "./ConnectHelpDialog"; +import { FinalFocusRef } from "../../project/project-actions"; export const enum ConnectHelpChoice { Next, @@ -21,7 +22,7 @@ interface ConnectHelpDialogProps { callback: (choice: ConnectHelpChoice) => void; dialogNormallyHidden: boolean; shownByRequest: boolean; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } const enum Stage { diff --git a/src/workbench/connect-dialogs/FirmwareDialog.tsx b/src/workbench/connect-dialogs/FirmwareDialog.tsx index 21820abf5..a14194b51 100644 --- a/src/workbench/connect-dialogs/FirmwareDialog.tsx +++ b/src/workbench/connect-dialogs/FirmwareDialog.tsx @@ -11,6 +11,7 @@ import { RiExternalLinkLine } from "react-icons/ri"; import { FormattedMessage } from "react-intl"; import { GenericDialog } from "../../common/GenericDialog"; import firmwareUpgrade from "./firmware-upgrade.svg"; +import { FinalFocusRef } from "../../project/project-actions"; export const enum ConnectErrorChoice { TRY_AGAIN = "TRY_AGAIN", @@ -19,7 +20,7 @@ export const enum ConnectErrorChoice { interface FirmwareDialogProps { callback: (choice: ConnectErrorChoice) => void; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } const FirmwareDialog = ({ callback, finalFocusRef }: FirmwareDialogProps) => { diff --git a/src/workbench/connect-dialogs/NotFoundDialog.tsx b/src/workbench/connect-dialogs/NotFoundDialog.tsx index ace1dd97e..0a25562df 100644 --- a/src/workbench/connect-dialogs/NotFoundDialog.tsx +++ b/src/workbench/connect-dialogs/NotFoundDialog.tsx @@ -13,10 +13,11 @@ import { GenericDialog } from "../../common/GenericDialog"; import SaveButton from "../../project/SaveButton"; import { ConnectErrorChoice } from "./FirmwareDialog"; import notFound from "./not-found.svg"; +import { FinalFocusRef } from "../../project/project-actions"; interface NotFoundDialogProps { callback: (value: ConnectErrorChoice) => void; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } export const NotFoundDialog = ({ diff --git a/src/workbench/connect-dialogs/TransferHexDialog.tsx b/src/workbench/connect-dialogs/TransferHexDialog.tsx index 779bc97ed..6abd79107 100644 --- a/src/workbench/connect-dialogs/TransferHexDialog.tsx +++ b/src/workbench/connect-dialogs/TransferHexDialog.tsx @@ -10,6 +10,7 @@ import { FormattedMessage } from "react-intl"; import { GenericDialog, GenericDialogFooter } from "../../common/GenericDialog"; import transferHexMac from "./transfer-hex-mac.gif"; import transferHexWin from "./transfer-hex-win.gif"; +import { FinalFocusRef } from "../../project/project-actions"; export const enum TransferHexChoice { CloseDontShowAgain, @@ -20,7 +21,7 @@ interface TransferHexDialogProps { callback: (value: TransferHexChoice) => void; dialogNormallyHidden: boolean; shownByRequest: boolean; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } export const TransferHexDialog = ({ diff --git a/src/workbench/connect-dialogs/WebUSBDialog.tsx b/src/workbench/connect-dialogs/WebUSBDialog.tsx index 0ab33ce7d..21b1544ec 100644 --- a/src/workbench/connect-dialogs/WebUSBDialog.tsx +++ b/src/workbench/connect-dialogs/WebUSBDialog.tsx @@ -10,10 +10,11 @@ import { FormattedMessage } from "react-intl"; import { GenericDialog } from "../../common/GenericDialog"; import { isChromeOS105 } from "../../device/webusb"; import chromeOSErrorImage from "./chrome-os-105-error.png"; +import { FinalFocusRef } from "../../project/project-actions"; interface WebUSBDialogProps { callback: () => void; - finalFocusRef: React.RefObject; + finalFocusRef: FinalFocusRef; } export const WebUSBDialog = ({ From 2126e74d7edf1055d05dd5692f7bba22f8736950 Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Wed, 1 May 2024 16:37:16 +0100 Subject: [PATCH 02/19] Upgrade CodeMirror (#1176) --- package-lock.json | 40 +++---- package.json | 12 +- src/editor/codemirror/lint/lint.ts | 184 +++++++++++++++++++---------- 3 files changed, 146 insertions(+), 90 deletions(-) diff --git a/package-lock.json b/package-lock.json index 093933d50..adae44e9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,12 @@ "dependencies": { "@chakra-ui/icons": "^2.1.1", "@chakra-ui/react": "^2.5.1", - "@codemirror/autocomplete": "^6.3.0", - "@codemirror/commands": "6.1.1", - "@codemirror/lang-python": "^6.0.2", - "@codemirror/language": "^6.2.1", - "@codemirror/state": "^6.1.2", - "@codemirror/view": "^6.3.0", + "@codemirror/autocomplete": "^6.16.0", + "@codemirror/commands": "6.5.0", + "@codemirror/lang-python": "^6.1.6", + "@codemirror/language": "^6.10.1", + "@codemirror/state": "^6.4.1", + "@codemirror/view": "^6.26.3", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", "@microbit/microbit-fs": "^0.9.2", @@ -1779,9 +1779,9 @@ } }, "node_modules/@codemirror/autocomplete": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.14.0.tgz", - "integrity": "sha512-Kx9BCSOLKmqNXEvmViuzsBQJ2VEa/wWwOATNpixOa+suttTV3rDnAUtAIt5ObAUFjXvZakWfFfF/EbxELnGLzQ==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.16.0.tgz", + "integrity": "sha512-P/LeCTtZHRTCU4xQsa89vSKWecYv1ZqwzOd5topheGRf+qtacFgBeIMQi3eL8Kt/BUNvxUWkx+5qP2jlGoARrg==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", @@ -1796,20 +1796,20 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.1.tgz", - "integrity": "sha512-ibDohwkk7vyu3VsnZNlQhwk0OETBtlkYV+6AHfn5Zgq0sxa+yGVX+apwtC3M4wh6AH7yU5si/NysoECs5EGS3Q==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.5.0.tgz", + "integrity": "sha512-rK+sj4fCAN/QfcY9BEzYMgp4wwL/q5aj/VfNSoH1RWPF9XS/dUwBkvlL3hpWgEjOqlpdN1uLC9UkjJ4tmyjJYg==", "dependencies": { "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", + "@codemirror/state": "^6.4.0", "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" + "@lezer/common": "^1.1.0" } }, "node_modules/@codemirror/lang-python": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@codemirror/lang-python/-/lang-python-6.1.4.tgz", - "integrity": "sha512-b6d1TDqrkCjFNvMO01SWldFiDoZ39yl3tDMC1Y5f8glA2eZpynPxJhwYVTlGFr0stizcJgrp6ojLEGH2myoZAw==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@codemirror/lang-python/-/lang-python-6.1.6.tgz", + "integrity": "sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg==", "dependencies": { "@codemirror/autocomplete": "^6.3.2", "@codemirror/language": "^6.8.0", @@ -1837,9 +1837,9 @@ "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" }, "node_modules/@codemirror/view": { - "version": "6.25.1", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.25.1.tgz", - "integrity": "sha512-2LXLxsQnHDdfGzDvjzAwZh2ZviNJm7im6tGpa0IONIDnFd8RZ80D2SNi8PDi6YjKcMoMRK20v6OmKIdsrwsyoQ==", + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.26.3.tgz", + "integrity": "sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw==", "dependencies": { "@codemirror/state": "^6.4.0", "style-mod": "^4.1.0", diff --git a/package.json b/package.json index 6e0eff4f0..178762974 100644 --- a/package.json +++ b/package.json @@ -8,12 +8,12 @@ "dependencies": { "@chakra-ui/icons": "^2.1.1", "@chakra-ui/react": "^2.5.1", - "@codemirror/autocomplete": "^6.3.0", - "@codemirror/commands": "6.1.1", - "@codemirror/lang-python": "^6.0.2", - "@codemirror/language": "^6.2.1", - "@codemirror/state": "^6.1.2", - "@codemirror/view": "^6.3.0", + "@codemirror/autocomplete": "^6.16.0", + "@codemirror/commands": "6.5.0", + "@codemirror/lang-python": "^6.1.6", + "@codemirror/language": "^6.10.1", + "@codemirror/state": "^6.4.1", + "@codemirror/view": "^6.26.3", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", "@microbit/microbit-fs": "^0.9.2", diff --git a/src/editor/codemirror/lint/lint.ts b/src/editor/codemirror/lint/lint.ts index d3b1f3ac7..d1639a042 100644 --- a/src/editor/codemirror/lint/lint.ts +++ b/src/editor/codemirror/lint/lint.ts @@ -1,7 +1,7 @@ /** -Modified copy of the lint extension from CodeMirror 6.0.0 -git revision 6f209208918744c37d62902c34e3f04f85f54965 -sha1 of source lint.ts 165f647c49d87591ab8a7dd67212e0ddd570fb9e +Modified copy of the lint extension from CodeMirror 6.7.0 +git revision 6dc3ba4c109cc20bb8b6cdcd50b9f1195a53f9f4 +sha1 of source lint.ts e172dd8dc59ec1ab904824153438c2cc55b4df3a To aid comparison to the original, this file is not auto-formatted and we've disabled our eslint rules. @@ -40,14 +40,16 @@ THE SOFTWARE. */ import {EditorView, ViewPlugin, Decoration, DecorationSet, - WidgetType, ViewUpdate, Command, logException, KeyBinding, - hoverTooltip, Tooltip, showTooltip, gutter, GutterMarker, - PanelConstructor, Panel, showPanel, getPanel} from "@codemirror/view" + WidgetType, ViewUpdate, Command, logException, KeyBinding, + hoverTooltip, Tooltip, showTooltip, gutter, GutterMarker, + PanelConstructor, Panel, showPanel, getPanel} from "@codemirror/view" import {Text, StateEffect, StateField, Extension, TransactionSpec, Transaction, - EditorState, Facet, combineConfig, RangeSet, Range} from "@codemirror/state" + EditorState, Facet, combineConfig, RangeSet, Range} from "@codemirror/state" import elt from "crelt" import { editingLineState, editingLinePlugin, setEditingLineEffect } from "./editingLine" +type Severity = "hint" | "info" | "warning" | "error" + /// Describes a problem or hint for a piece of code. export interface Diagnostic { /// The start position of the relevant text. @@ -57,7 +59,10 @@ export interface Diagnostic { to: number /// The severity of the problem. This will influence how it is /// displayed. - severity: "hint" | "info" | "warning" | "error" + severity: Severity + /// When given, add an extra CSS class to parts of the code that + /// this diagnostic applies to. + markClass?: string /// An optional source string indicating where the diagnostic is /// coming from. You can put the name of your linter here, if /// applicable. @@ -66,7 +71,7 @@ export interface Diagnostic { message: string /// An optional custom rendering function that displays the message /// as a DOM node. - renderMessage?: () => Node + renderMessage?: (view: EditorView) => Node /// An optional array of actions that can be taken on this /// diagnostic. actions?: readonly Action[] @@ -86,18 +91,28 @@ export interface Action { apply: (view: EditorView, from: number, to: number) => void } -type DiagnosticFilter = (diagnostics: readonly Diagnostic[]) => Diagnostic[] +type DiagnosticFilter = (diagnostics: readonly Diagnostic[], state: EditorState) => Diagnostic[] interface LintConfig { /// Time to wait (in milliseconds) after a change before running /// the linter. Defaults to 750ms. delay?: number + /// Optional predicate that can be used to indicate when diagnostics + /// need to be recomputed. Linting is always re-done on document + /// changes. + needsRefresh?: null | ((update: ViewUpdate) => boolean) /// Optional filter to determine which diagnostics produce markers /// in the content. markerFilter?: null | DiagnosticFilter, /// Filter applied to a set of diagnostics shown in a tooltip. No /// tooltip will appear if the empty set is returned. tooltipFilter?: null | DiagnosticFilter + /// Can be used to control what kind of transactions cause lint + /// hover tooltips associated with the given document range to be + /// hidden. By default any transactions that changes the line + /// around the range will hide it. Returning null falls back to this + /// behavior. + hideOn?: (tr: Transaction, from: number, to: number) => boolean | null } interface LintGutterConfig { @@ -115,7 +130,7 @@ class SelectedDiagnostic { constructor(readonly from: number, readonly to: number, readonly diagnostic: Diagnostic) {} } -export class LintState { +class LintState { constructor(readonly diagnostics: DecorationSet, readonly panel: PanelConstructor | null, readonly selected: SelectedDiagnostic | null) {} @@ -125,7 +140,7 @@ export class LintState { let markedDiagnostics = diagnostics let diagnosticFilter = state.facet(lintConfig).markerFilter if (diagnosticFilter) - markedDiagnostics = diagnosticFilter(markedDiagnostics) + markedDiagnostics = diagnosticFilter(markedDiagnostics, state) let ranges = Decoration.set(markedDiagnostics.map((d: Diagnostic) => { // For zero-length ranges or ranges covering only a line break, create a widget @@ -142,7 +157,8 @@ export class LintState { d.tags.map(tag => "cm-lintRange-" + tag) : ["cm-lintRange-" + d.severity]) ].join(" ") }, - diagnostic: d + diagnostic: d, + inclusive: true }).range(d.from, d.to) }), true) return new LintState(ranges, panel, findDiagnostic(ranges)) @@ -160,21 +176,15 @@ function findDiagnostic(diagnostics: DecorationSet, diagnostic: Diagnostic | nul } function hideTooltip(tr: Transaction, tooltip: Tooltip) { - return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(tooltip.pos)) + let from = tooltip.pos, to = tooltip.end || from + let result = tr.state.facet(lintConfig).hideOn(tr, from, to) + if (result != null) return result + let line = tr.startState.doc.lineAt(tooltip.pos) + return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to))) } function maybeEnableLint(state: EditorState, effects: readonly StateEffect[]) { - return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of([ - lintState, - EditorView.decorations.compute([lintState], state => { - let {selected, panel} = state.field(lintState) - return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([ - activeMark.range(selected.from, selected.to) - ]) - }), - hoverTooltip(lintTooltip, {hideOn: hideTooltip}), - baseTheme - ])) + return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions)) } /// Returns a transaction spec which updates the current set of @@ -230,7 +240,7 @@ export function diagnosticCount(state: EditorState) { return lint ? lint.diagnostics.size : 0 } -const activeMark = Decoration.mark({class: "cm-lintRange cm-lintRange-active"}) +const activeMark = Decoration.mark({class: "cm-lintRange cm-lintRange-active", inclusive: true}) function lintTooltip(view: EditorView, pos: number, side: -1 | 1) { let {diagnostics} = view.state.field(lintState) @@ -245,7 +255,7 @@ function lintTooltip(view: EditorView, pos: number, side: -1 | 1) { }) let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter - if (diagnosticFilter) found = diagnosticFilter(found) + if (diagnosticFilter) found = diagnosticFilter(found, view.state) if (!found.length) return null @@ -294,6 +304,21 @@ export const nextDiagnostic: Command = (view: EditorView) => { return true } +/// Move the selection to the previous diagnostic. +export const previousDiagnostic: Command = (view: EditorView) => { + let {state} = view, field = state.field(lintState, false) + if (!field) return false + let sel = state.selection.main + let prevFrom: number | undefined, prevTo: number | undefined, lastFrom: number | undefined, lastTo: number | undefined + field.diagnostics.between(0, state.doc.length, (from, to) => { + if (to < sel.to && (prevFrom == null || prevFrom < from)) { prevFrom = from; prevTo = to } + if (lastFrom == null || from > lastFrom) { lastFrom = from; lastTo = to } + }) + if (lastFrom == null || prevFrom == null && lastFrom == sel.from) return false + view.dispatch({selection: {anchor: prevFrom ?? lastFrom, head: prevTo ?? lastTo}, scrollIntoView: true}) + return true +} + /// A set of default key bindings for the lint functionality. /// /// - Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](#lint.openLintPanel) @@ -321,11 +346,11 @@ const lintPlugin = ViewPlugin.fromClass(class { run() { let now = Date.now() if (now < this.lintTime - 10) { - setTimeout(this.run, this.lintTime - now) + this.timeout = setTimeout(this.run, this.lintTime - now) } else { this.set = false let {state} = this.view, {sources} = state.facet(lintConfig) - Promise.all(sources.map(source => Promise.resolve(source(this.view)))).then( + if (sources.length) Promise.all(sources.map(source => Promise.resolve(source(this.view)))).then( annotations => { let all = annotations.reduce((a, b) => a.concat(b)) if (this.view.state.doc == state.doc) @@ -338,7 +363,8 @@ const lintPlugin = ViewPlugin.fromClass(class { update(update: ViewUpdate) { let config = update.state.facet(lintConfig) - if (update.docChanged || config != update.startState.facet(lintConfig)) { + if (update.docChanged || config != update.startState.facet(lintConfig) || + config.needsRefresh && config.needsRefresh(update)) { this.lintTime = Date.now() + config.delay if (!this.set) { this.set = true @@ -359,29 +385,37 @@ const lintPlugin = ViewPlugin.fromClass(class { } }) -const lintConfig = Facet.define<{source: LintSource, config: LintConfig}, +const lintConfig = Facet.define<{source: LintSource | null, config: LintConfig}, Required & {sources: readonly LintSource[]}>({ combine(input) { return { - sources: input.map(i => i.source), + sources: input.map(i => i.source).filter(x => x != null) as readonly LintSource[], ...combineConfig(input.map(i => i.config), { delay: 750, markerFilter: null, - tooltipFilter: null + tooltipFilter: null, + needsRefresh: null, + hideOn: () => null, + }, { + needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u) }) } - }, - enables: lintPlugin + } }) /// Given a diagnostic source, this function returns an extension that /// enables linting with that source. It will be called whenever the -/// editor is idle (after its content changed). +/// editor is idle (after its content changed). If `null` is given as +/// source, this only configures the lint extension. export function linter( - source: LintSource, + source: LintSource | null, config: LintConfig = {} ): Extension { - return lintConfig.of({source, config}) + return [ + lintConfig.of({source, config}), + lintPlugin, + lintExtensions + ] } /// Forces any linters [configured](#lint.linter) to run when the @@ -410,10 +444,12 @@ function renderDiagnostic(view: EditorView, diagnostic: Diagnostic, inPanel: boo let keys = inPanel ? assignKeys(diagnostic.actions) : [] return elt( "li", {class: "cm-diagnostic cm-diagnostic-" + diagnostic.severity}, - elt("span", {class: "cm-diagnosticText"}, diagnostic.renderMessage ? diagnostic.renderMessage() : diagnostic.message), + elt("span", {class: "cm-diagnosticText"}, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), diagnostic.actions?.map((action, i) => { - let click = (e: Event) => { + let fired = false, click = (e: Event) => { e.preventDefault() + if (fired) return + fired = true let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic) if (found) action.apply(view, found.from, found.to) } @@ -557,8 +593,9 @@ class LintPanel implements Panel { key: this, read: () => ({sel: newSelectedItem!.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect()}), write: ({sel, panel}) => { - if (sel.top < panel.top) this.list.scrollTop -= panel.top - sel.top - else if (sel.bottom > panel.bottom) this.list.scrollTop += sel.bottom - panel.bottom + let scaleY = panel.height / this.list.offsetHeight + if (sel.top < panel.top) this.list.scrollTop -= (panel.top - sel.top) / scaleY + else if (sel.bottom > panel.bottom) this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY } }) } else if (this.selectedIndex < 0) { @@ -619,7 +656,8 @@ const baseTheme = EditorView.baseTheme({ }, ".cm-diagnostic-error": { borderLeft: "5px solid #d11" }, ".cm-diagnostic-warning": { borderLeft: "5px solid orange" }, - ".cm-diagnostic-info, .cm-diagnostic-hint": { borderLeft: "5px solid #999" }, + ".cm-diagnostic-info": { borderLeft: "5px solid #999" }, + ".cm-diagnostic-hint": { borderLeft: "5px solid #999" }, ".cm-diagnosticAction": { font: "inherit", @@ -628,7 +666,8 @@ const baseTheme = EditorView.baseTheme({ backgroundColor: "#444", color: "white", borderRadius: "3px", - marginLeft: "8px" + marginLeft: "8px", + cursor: "pointer" }, ".cm-diagnosticSource": { @@ -672,7 +711,10 @@ const baseTheme = EditorView.baseTheme({ ".cm-lintPoint-warning": { "&:after": { borderBottomColor: "orange" } }, - ".cm-lintPoint-info, .cm-lintPoint-hint": { + ".cm-lintPoint-info": { + "&:after": { borderBottomColor: "#999" } + }, + ".cm-lintPoint-hint": { "&:after": { borderBottomColor: "#999" } }, @@ -708,28 +750,18 @@ const baseTheme = EditorView.baseTheme({ } }) -function severityRanking(severity: "hint" | "info" | "warning" | "error") { - switch (severity) { - case "hint": - return 0 - case "info": - return 1 - case "warning": - return 2 - case "error": - return 3 - } +function severityWeight(sev: Severity) { + return sev == "error" ? 4 : sev == "warning" ? 3 : sev == "info" ? 2 : 1 } + class LintGutterMarker extends GutterMarker { - severity: "hint" | "info" | "warning" | "error" + severity: Severity // Diagnostics stored here may have had their 'from' field values // changed in order to maintain the gutter markers in the correct position. constructor(public diagnostics: readonly Diagnostic[], readonly editingLine: boolean) { super() - this.severity = diagnostics.reduce((max, d) => { - let s = d.severity - return severityRanking(s) > severityRanking(max) ? s : max - }, "hint" as "hint" | "info" | "warning" | "error") + this.severity = diagnostics.reduce((max, d) => severityWeight(max) < severityWeight(d.severity) ? d.severity : max, + "hint" as Severity) } toDOM(view: EditorView) { @@ -742,7 +774,7 @@ class LintGutterMarker extends GutterMarker { let diagnostics = this.diagnostics let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter - if (diagnosticsFilter) diagnostics = diagnosticsFilter(diagnostics) + if (diagnosticsFilter) diagnostics = diagnosticsFilter(diagnostics, view.state) if (diagnostics.length) elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics) @@ -840,7 +872,7 @@ const lintGutterMarkers = StateField.define>({ if (effect.is(setDiagnosticsEffect)) { let diagnostics = effect.value if (diagnosticFilter) { - diagnostics = diagnosticFilter(diagnostics || []) + diagnostics = diagnosticFilter(diagnostics || [], tr.state) } markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0), tr.state.field(editingLineState)) } @@ -895,7 +927,7 @@ const lintGutterTheme = EditorView.baseTheme({ ".cm-lint-marker-warning": { content: svg(``), }, - ".cm-lint-marker-error:before": { + ".cm-lint-marker-error": { content: svg(``) }, ".cm-lint-marker-editing:before": { @@ -903,6 +935,18 @@ const lintGutterTheme = EditorView.baseTheme({ }, }) +const lintExtensions = [ + lintState, + EditorView.decorations.compute([lintState], state => { + let {selected, panel} = state.field(lintState) + return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([ + activeMark.range(selected.from, selected.to) + ]) + }), + hoverTooltip(lintTooltip, {hideOn: hideTooltip}), + baseTheme +] + const lintGutterConfig = Facet.define>({ combine(configs) { return combineConfig(configs, { @@ -919,3 +963,15 @@ const lintGutterConfig = Facet.define void) { + let lState = state.field(lintState, false) + if (lState && lState.diagnostics.size) + for (let iter = RangeSet.iter([lState.diagnostics]); iter.value; iter.next()) + f(iter.value.spec.diagnostic, iter.from, iter.to) +} From 9bfff59d7ba02bce5c3f557c2b184c18ae1c99bb Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Fri, 3 May 2024 12:37:59 +0100 Subject: [PATCH 03/19] Improve error handling for WebUSB issues (#1164) Use a dialog to show WebUSB errors with clearer action for the user. --- lang/ui.ca.json | 8 - lang/ui.de.json | 8 - lang/ui.en.json | 14 +- lang/ui.es-es.json | 8 - lang/ui.fr.json | 8 - lang/ui.ja.json | 8 - lang/ui.ko.json | 8 - lang/ui.nl.json | 8 - lang/ui.zh-cn.json | 8 - lang/ui.zh-tw.json | 8 - src/messages/ui.ca.json | 12 -- src/messages/ui.de.json | 26 ---- src/messages/ui.en.json | 70 ++++++--- src/messages/ui.es-es.json | 26 ---- src/messages/ui.fr.json | 26 ---- src/messages/ui.ja.json | 26 ---- src/messages/ui.ko.json | 26 ---- src/messages/ui.nl.json | 26 ---- src/messages/ui.zh-cn.json | 26 ---- src/messages/ui.zh-tw.json | 26 ---- src/project/project-actions.tsx | 147 +++++++++--------- .../connect-dialogs/WebUSBErrorDialog.tsx | 82 ++++++++++ src/workbench/connect-dialogs/reconnect.mp4 | Bin 0 -> 341218 bytes src/workbench/connect-dialogs/reconnect.webm | Bin 0 -> 828152 bytes 24 files changed, 208 insertions(+), 397 deletions(-) create mode 100644 src/workbench/connect-dialogs/WebUSBErrorDialog.tsx create mode 100644 src/workbench/connect-dialogs/reconnect.mp4 create mode 100644 src/workbench/connect-dialogs/reconnect.webm diff --git a/lang/ui.ca.json b/lang/ui.ca.json index 2f3e3bc5c..bca7bb52a 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -1130,14 +1130,6 @@ "defaultMessage": "Torna a connectar la teva micro:bit i torna-ho a provar.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "Has d'actualitzar el microprogramari de la teva micro:bit per fer ús d'aquesta característica.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Actualitza el microprogramari de la micro:bit ", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Malauradament, WebUSB no és compatible amb aquest navegador i el teu programa es desarà al teu ordinador. Segueix els passos de la pantalla següent per transferir-lo ala teva micro:bit. Et recomanem Google Chrome o Microsoft Edge perquè et puguis connectar directament a la teva micro:bit.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.de.json b/lang/ui.de.json index d3d8703c1..42bf46a69 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -1130,14 +1130,6 @@ "defaultMessage": "Bitte schließe deinen micro:bit erneut an und versuche es nochmal.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "Um diese Funktion nutzen zu können, musst du deine micro:bit Firmware aktualisieren .", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Bitte aktualisiere die micro:bit Firmware", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Leider wird WebUSB in diesem Browser nicht unterstützt und dein Programm wird stattdessen auf deinem Computer gespeichert. Folge den Schritten auf dem nächsten Bildschirm, um es auf deinen micro:bit zu übertragen. Wir empfehlen Google Chrome oder Microsoft Edge, damit du dich direkt mit deinem micro:bit verbinden kannst.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.en.json b/lang/ui.en.json index e83ebd588..f12fc199a 100644 --- a/lang/ui.en.json +++ b/lang/ui.en.json @@ -1120,7 +1120,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "Unable to claim interface", + "defaultMessage": "Another page or browser tab is connected to this micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1128,17 +1128,9 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Please reconnect your micro:bit and try again.", + "defaultMessage": "

Please follow these steps, then try again:

  • unplug the USB cable
  • unplug the battery pack if one is attached
  • reconnect the USB cable
  • reconnect the battery pack if one was attached
", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "You need to update your micro:bit firmware to make use of this feature.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Please update the micro:bit firmware", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Unfortunately, WebUSB is not supported in this browser and your program will be saved to your computer instead. Follow the steps on the next screen to transfer it to your micro:bit. We recommend Google Chrome or Microsoft Edge so you can connect directly to your micro:bit.", "description": "Explantion shown when user's browser doesn't support WebUSB" @@ -1171,4 +1163,4 @@ "defaultMessage": "Zoom out", "description": "Text label for zoom out button" } -} \ No newline at end of file +} diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index d615ce3dd..aa0e6f85c 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -1130,14 +1130,6 @@ "defaultMessage": "Por favor reconecta el micro:bit e intentalo de nuevo.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "Necesitas actualizar el firmware del micro:bit para usar esta función.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Actualiza el firmware micro:bit", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Desafortunadamente, este navegador no admite WebUSB, por lo que el programa se guardará en el ordenador. Sigue los pasos indicados en la siguiente pantalla para transferirlo al micro:bit. Recomendamos Google Chrome o Microsoft Edge para poder conectarte directamente al micro:bit.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 3c8cf76f4..459567c90 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -1130,14 +1130,6 @@ "defaultMessage": "Veuillez reconnecter votre micro:bit et réessayer.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "Vous devez mettre à jour le micrologiciel de votre micro:bit pour utiliser cette fonctionnalité.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Veuillez mettre à jour le micrologiciel de micro:bit", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Malheureusement, WebUSB n'est pas pris en charge dans ce navigateur et votre programme sera sauvegardé sur votre ordinateur. Suivez les étapes sur l'écran suivant pour le transférer vers votre micro:bit. Nous vous recommandons Google Chrome ou Microsoft Edge afin que vous puissiez vous connecter directement à votre micro:bit.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.ja.json b/lang/ui.ja.json index b8b56e462..00816c9ef 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -1130,14 +1130,6 @@ "defaultMessage": "micro:bitを再接続して、やり直してください。", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "この機能を利用するには、micro:bitファームウェアを更新する必要があります。", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "micro:bit のファームウェアを更新してください。", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "残念ながら、WebUSBはこのブラウザではサポートされていないので、代わりにプログラムをコンピュータに保存します。 次の画面の手順に従ってmicro:bitに転送してください。micro:bitと直接接続できるように、Google ChromeまたはMicrosoft Edgeをお勧めします。", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 47ec75d06..4f0fa7668 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -1130,14 +1130,6 @@ "defaultMessage": "micro:bit 연결을 확인한 후, 다시 시도해 보세요.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "이 기능을 활용하려면 micro:bit 펌웨어를 업데이트해야 합니다.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "micro:bit 펌웨어를 업데이트 하세요.", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "이 브라우저가 WebUSB를 지원하지 않아 프로그램이 컴퓨터에 저장됩니다. micro:bit로 전송하려면 다음 화면의 단계를 따르세요. micro:bit에 직접 연결할 수 있도록 Google Chrome 또는 Microsoft Edge 사용을 권장합니다.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.nl.json b/lang/ui.nl.json index 8ab388e35..b2ded615d 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -1130,14 +1130,6 @@ "defaultMessage": "Verbind je micro:bit opnieuw en probeer het nog eens.", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "Je moet je micro:bit firmware updaten om deze functie te gebruiken.", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "Werk de firmware van de micro:bit bij", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "Helaas wordt WebUSB niet ondersteund in deze browser en zal je programma worden opgeslagen op je computer. Volg de stappen op het volgende scherm om het naar de micro:bit te verplaatsen. We raden Google Chrome of Microsoft Edge aan, zodat je direct verbinding kunt maken met je micro:bit.", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index 661ee1a8e..bf60c362a 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -1130,14 +1130,6 @@ "defaultMessage": "请重新连接 micro:bit 然后再次尝试。", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "您需要 update your micro:bit firmware 才能使用此功能。", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "请更新 micro:bit 固件", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "很遗憾,此浏览器不支持 WebUSB,您的程序将被保存到您的计算机上。请按照下一个屏幕上的步骤将其传输到您的 micro:bit。我们建议您使用 Google Chrome 或 Microsoft Edge 浏览器,以便您可以直接连接到您的 micro:bit。", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index 47d0b0ca5..b25af3439 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -1130,14 +1130,6 @@ "defaultMessage": "請重新連接你的 micro:bit 後再試一次。", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "您需要更新您的 micro:bit 韌體,以使用此功能。", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "請更新 micro:bit 韌體", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "很抱歉,此瀏覽器不支援 WebUSB,您的程式將儲存至您的電腦。請依照下一個畫面上的步驟,將其傳輸至您的 micro:bit。我們建議您使用 Google Chrome 或 Microsoft Edge,以便能直接連線至您的 micro:bit。", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/src/messages/ui.ca.json b/src/messages/ui.ca.json index db70d5413..a789f7519 100644 --- a/src/messages/ui.ca.json +++ b/src/messages/ui.ca.json @@ -2417,18 +2417,6 @@ "value": "Torna a connectar la teva micro:bit i torna-ho a provar." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "Has dactualitzar el microprogramari de la teva micro:bit per fer ús daquesta característica." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Actualitza el microprogramari de la micro:bit " - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index 8cc1572e6..b4e57babe 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -2499,32 +2499,6 @@ "value": "Bitte schließe deinen micro:bit erneut an und versuche es nochmal." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "Um diese Funktion nutzen zu können, musst du deine " - }, - { - "children": [ - { - "type": 0, - "value": "micro:bit Firmware aktualisieren " - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": "." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Bitte aktualisiere die micro:bit Firmware" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.en.json b/src/messages/ui.en.json index 10477babc..0b5f4dff4 100644 --- a/src/messages/ui.en.json +++ b/src/messages/ui.en.json @@ -2430,13 +2430,13 @@ "webusb-error-clear-connect-description-2": [ { "type": 0, - "value": "Close any other tabs that may be using WebUSB (e.g. MakeCode, Python Editor), or unplug and replug the micro:bit before trying again." + "value": "Close any other pages or tabs that may be using WebUSB (e.g. MakeCode, Python Editor), or unplug and replug the micro:bit before trying again." } ], "webusb-error-clear-connect-title": [ { "type": 0, - "value": "Unable to claim interface" + "value": "Another page or browser tab is connected to this micro:bit" } ], "webusb-error-default-title": [ @@ -2446,35 +2446,61 @@ } ], "webusb-error-reconnect-microbit-description": [ - { - "type": 0, - "value": "Please reconnect your micro:bit and try again." - } - ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "You need to " - }, { "children": [ { "type": 0, - "value": "update your micro:bit firmware" + "value": "Please follow these steps, then try again:" } ], "type": 8, - "value": "link" + "value": "p" }, { - "type": 0, - "value": " to make use of this feature." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Please update the micro:bit firmware" + "children": [ + { + "children": [ + { + "type": 0, + "value": "unplug the USB cable" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "unplug the battery pack if one is attached" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "reconnect the USB cable" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "reconnect the battery pack if one was attached" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index e8514d9fc..16521d834 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -2443,32 +2443,6 @@ "value": "Por favor reconecta el micro:bit e intentalo de nuevo." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "Necesitas " - }, - { - "children": [ - { - "type": 0, - "value": "actualizar el firmware del micro:bit" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": " para usar esta función." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Actualiza el firmware micro:bit" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.fr.json b/src/messages/ui.fr.json index 6609d1414..c4ec989fe 100644 --- a/src/messages/ui.fr.json +++ b/src/messages/ui.fr.json @@ -2443,32 +2443,6 @@ "value": "Veuillez reconnecter votre micro:bit et réessayer." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "Vous devez " - }, - { - "children": [ - { - "type": 0, - "value": "mettre à jour le micrologiciel de votre micro:bit" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": " pour utiliser cette fonctionnalité." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Veuillez mettre à jour le micrologiciel de micro:bit" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 0b4b8dbe5..2835a439d 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -2445,32 +2445,6 @@ "value": "micro:bitを再接続して、やり直してください。" } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "この機能を利用するには、" - }, - { - "children": [ - { - "type": 0, - "value": "micro:bitファームウェアを更新" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": "する必要があります。" - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "micro:bit のファームウェアを更新してください。" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index 4813008aa..60055a44e 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -2439,32 +2439,6 @@ "value": "micro:bit 연결을 확인한 후, 다시 시도해 보세요." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "이 기능을 활용하려면 " - }, - { - "children": [ - { - "type": 0, - "value": "micro:bit 펌웨어를 업데이트" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": "해야 합니다." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "micro:bit 펌웨어를 업데이트 하세요." - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index af753f47b..b55ab54dd 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -2486,32 +2486,6 @@ "value": "Verbind je micro:bit opnieuw en probeer het nog eens." } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "Je moet " - }, - { - "children": [ - { - "type": 0, - "value": "je micro:bit firmware" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": " updaten om deze functie te gebruiken." - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "Werk de firmware van de micro:bit bij" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index 360498f1c..6c57d2d5a 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -2452,32 +2452,6 @@ "value": "请重新连接 micro:bit 然后再次尝试。" } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "您需要 " - }, - { - "children": [ - { - "type": 0, - "value": "update your micro:bit firmware" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": " 才能使用此功能。" - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "请更新 micro:bit 固件" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index fff0089b2..cf35b26e6 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -2451,32 +2451,6 @@ "value": "請重新連接你的 micro:bit 後再試一次。" } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "您需要" - }, - { - "children": [ - { - "type": 0, - "value": "更新您的 micro:bit 韌體" - } - ], - "type": 8, - "value": "link" - }, - { - "type": 0, - "value": ",以使用此功能。" - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "請更新 micro:bit 韌體" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/project/project-actions.tsx b/src/project/project-actions.tsx index c794e27bd..f370e1f60 100644 --- a/src/project/project-actions.tsx +++ b/src/project/project-actions.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: MIT */ import { Link, List, ListItem, Stack } from "@chakra-ui/layout"; -import { Text, VStack } from "@chakra-ui/react"; +import { Box, HStack, Text, UnorderedList, VStack } from "@chakra-ui/react"; import { isMakeCodeForV1Hex as isMakeCodeForV1HexNoErrorHandling } from "@microbit/microbit-universal-hex"; import { saveAs } from "file-saver"; import { ReactNode } from "react"; @@ -70,6 +70,9 @@ import { validateNewFilename, } from "./project-utils"; import ProjectNameQuestion from "./ProjectNameQuestion"; +import WebUSBErrorDialog from "../workbench/connect-dialogs/WebUSBErrorDialog"; +import reconnectWebm from "../workbench/connect-dialogs/reconnect.webm"; +import reconnectMp4 from "../workbench/connect-dialogs/reconnect.mp4"; /** * Distinguishes the different ways to trigger the load action. @@ -843,12 +846,11 @@ export class ProjectActions { await this.handleFirmwareUpdate(e.code, userAction, finalFocusRef); return; case "clear-connect": + return this.handleClearConnectError(finalFocusRef); case "timeout-error": - case "reconnect-microbit": { - return this.actionFeedback.expectedError( - this.webusbErrorMessage(e.code) - ); - } + return this.handleTimeoutError(finalFocusRef); + case "reconnect-microbit": + return this.handleReconnectMicrobitError(finalFocusRef); default: { return this.actionFeedback.unexpectedError(e); } @@ -873,72 +875,46 @@ export class ProjectActions { this.save(finalFocusRef, true); } - private webusbErrorMessage(code: WebUSBErrorCode) { - switch (code) { - case "update-req": - return { - title: this.intl.formatMessage({ - id: "webusb-error-update-req-title", - }), - description: ( - - {this.intl.formatMessage( - { - id: "webusb-error-update-req-description", - }, - { - link: (chunks: ReactNode) => ( - - {chunks} - - ), - } - )} - - ), - }; - case "clear-connect": - return { - title: this.intl.formatMessage({ - id: "webusb-error-clear-connect-title", - }), - description: ( - -

- {this.intl.formatMessage({ - id: "webusb-error-clear-connect-description-1", - })} -

-

- {this.intl.formatMessage({ - id: "webusb-error-clear-connect-description-2", - })} -

-
- ), - }; - case "reconnect-microbit": - return { - title: this.intl.formatMessage({ id: "webusb-error-default-title" }), - description: this.intl.formatMessage({ - id: "webusb-error-reconnect-microbit-description", - }), - }; - case "timeout-error": - return { - title: this.intl.formatMessage({ id: "timeout-error-title" }), - description: this.intl.formatMessage({ - id: "timeout-error-description", - }), - }; - default: - throw new Error("Unknown code"); - } + private async handleClearConnectError(finalFocusRef: FinalFocusRef) { + return this.dialogs.show((callback) => ( + +

+ {this.intl.formatMessage({ + id: "webusb-error-clear-connect-description-2", + })} +

+ + } + /> + )); + } + private async handleReconnectMicrobitError(finalFocusRef: FinalFocusRef) { + return this.dialogs.show((callback) => ( + } + /> + )); + } + + private async handleTimeoutError(finalFocusRef: FinalFocusRef) { + return this.dialogs.show((callback) => ( + } + /> + )); } private async handlePostSaveDialog(finalFocusRef: FinalFocusRef) { @@ -1046,3 +1022,30 @@ export const defaultedProject = ( name: fs.project.name ?? intl.formatMessage({ id: "untitled-project" }), }; }; + +const ReconnectTextAndVideo = () => ( + + + {chunks}, + li: (chunks: ReactNode) => ( + + {chunks} + + ), + ul: (chunks: ReactNode) => ( + {chunks} + ), + }} + /> + + + + + +); diff --git a/src/workbench/connect-dialogs/WebUSBErrorDialog.tsx b/src/workbench/connect-dialogs/WebUSBErrorDialog.tsx new file mode 100644 index 000000000..bf7288ead --- /dev/null +++ b/src/workbench/connect-dialogs/WebUSBErrorDialog.tsx @@ -0,0 +1,82 @@ +/** + * (c) 2021 - 2024, Micro:bit Educational Foundation and contributors + * + * SPDX-License-Identifier: MIT + */ +import { Button } from "@chakra-ui/button"; +import { HStack, Text, VStack } from "@chakra-ui/react"; +import { ReactNode, useCallback } from "react"; +import { FormattedMessage } from "react-intl"; +import { GenericDialog } from "../../common/GenericDialog"; +import { FinalFocusRef } from "../../project/project-actions"; + +interface WebUSBErrorDialogProps { + callback: () => void; + finalFocusRef: FinalFocusRef; + title: ReactNode; + description: ReactNode; +} + +export const WebUSBErrorDialog = ({ + callback, + finalFocusRef, + title, + description, +}: WebUSBErrorDialogProps) => { + const handleClose = useCallback(() => { + callback(); + }, [callback]); + return ( + } + footer={} + size="2xl" + /> + ); +}; + +interface WebUSBErrorBodyProps { + title: ReactNode; + description: ReactNode; +} + +const WebUSBErrorBody = ({ title, description }: WebUSBErrorBodyProps) => ( + + {typeof title === "string" ? ( + + {title} + + ) : ( + title + )} + {typeof description === "string" ? {description} : description} + +); + +interface WebUSBErrorDialogFooterProps { + onCancel: () => void; +} + +const WebUSBErrorDialogFooter = ({ + onCancel, +}: WebUSBErrorDialogFooterProps) => { + return ( + + + + ); +}; + +export default WebUSBErrorDialog; diff --git a/src/workbench/connect-dialogs/reconnect.mp4 b/src/workbench/connect-dialogs/reconnect.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..bed34541dde6f85990c2501cfdbb954fc039b41e GIT binary patch literal 341218 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 c8o=|m(Xn56%Bo5#zuv1@YL-h@n=?tJOBVb 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ⅇ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%0DsR7gKvJ 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⋘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

  • ov<-kEgEp61N@C8S)luri|L0g#X}~?85fpAQu8%Cs^{?gwIgA^TO+%d z)_^Z$i;%K}2%OkhSnFdV|e@N`&_+e~hdiGTZ)zl$d+&aBA$~~js z{65oYlTK;}Vn2-Q8#yAz)NWE>w6{0s!C&Pcx>r+f@EI-RHEcFPdk@WqrHT}VOV2Rf z0&1IBdBcO*NE^_`Qzc=^uQLu1X(|;AYRw;BqCTY<3&!SzV@lJx)l4QRqH?yu#>&Lo zn>~{}G2e7rnBBid5ZVAob2N>nFd|VKiUTDAA$!(@NX}X&IcOz3OTzIGI|l+cn8*Vi zSSXp6yWRa!`~NqqSo7;Em?)mMwgfo}h3W%9ss6ty`4c8-jgA3OB>FEL=0||B3cxNB z^@AW7tH@SIQ}lnJvJY)F0inh+$oskx<{my2JOJYI?@8#kesdlLDbU1#u(Q<1Kc*3m z`|*B66(zZ#34Wto*;_+x!&VndMBsPDjE_D^d`pBRSMopldsa=TuRzDMKh**W`tliF zVfH0=PO7r(?R#gQla_L& zF>-|yDkpNB)Fj4YxtaPZl4!HRvfzr^@!HH%B$`~-tpbh@yBYW>Ct76N+&B|JhU&_? z@N%D>5`&i?0D<-YEt)mId=E1(_451;d9zF8eV793HP=Pf&Lmo zy66t~$kYR6J2XOP(d{KZ+blLt8IEPukSUdA**+4@2PjM!tN~TuN*r z_w^ON{I^^ZF=g0)W6hUU8HnW+pRBezN64bMzpQhfEYH_{s|X`h1GD^a71E)3UC20~ z0EJp{GbZW_C3I>ob07f1Ou!hOh}=!H+D;*c{SjDxvWi_eHtXcmJG=(_O@JAG8+%8% z$5e)yK|-xuwqSLgvk))h^uPWDfy?ytiRI=pv~O#Ilvr8DBR<`&9vE_r3W;9D{~lJv zcr&3{c7bAWG|}4~6z$ldh7%y2+4CY*PK&bT9m@i!7!ca6#%p%fXOxL+jKlN-B_Ms> z|ELMgwrRB2rRUzW@6UwsejH26u?B&QQYcUy04nppG0XU~jer8|M|1a9Zhr&-05E(s zGQa--G`^$KNF%^KN z)N&>hPU!IO`76u+hX)iN6?vD?@B3@FP^CHm)aL*6%;FI1??V#s+j`>Or&+-f@&9&TKa`s`S(XU z35Xz2Q*~*O;QL`=MIWUIsFEu}vPbc_8V7$Jf}pKhbVl|xN~K**5$9-#bG1Tn^-Pq_oKMO+L1ZGCMwc z$@4*I?lv;B2M_c&gw#v>6>A4RB-7e-P0&j5Bir^u pbngNUi1*}wGPB$ucGmVu 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 fDN0 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 literal 0 HcmV?d00001 From e77d65fd38d298153986f0d7623f4dd5117bb64b Mon Sep 17 00:00:00 2001 From: Grace <145345672+microbit-grace@users.noreply.github.com> Date: Tue, 14 May 2024 09:35:59 +0100 Subject: [PATCH 04/19] Update typeshed stub: Add `spi:read()` second argument (#1179) --- src/micropython/main/typeshed.en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/micropython/main/typeshed.en.json b/src/micropython/main/typeshed.en.json index bc1ca4af5..83ba08b01 100644 --- a/src/micropython/main/typeshed.en.json +++ b/src/micropython/main/typeshed.en.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Read bytes.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" From 2838da62d41a2fae1e457e76a99129e6ab2d7de0 Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Thu, 23 May 2024 15:05:04 +0100 Subject: [PATCH 05/19] Warn users when using V2 API features with micro:bit V1 (#1177) Updates Pyright to a version with the changes from https://github.com/microbit-foundation/pyright/pull/35/ and conditionally hides the new messages depending on the connected device. A new setting can hide the messages. The setting can be flipped from a CodeMirror diagnostic action. See https://microbit-global.monday.com/boards/1125389526/views/244984/pulses/1434825789 --- lang/ui.ca.json | 12 ++++ lang/ui.de.json | 12 ++++ lang/ui.en.json | 14 ++++- lang/ui.es-es.json | 12 ++++ lang/ui.fr.json | 12 ++++ lang/ui.ja.json | 12 ++++ lang/ui.ko.json | 12 ++++ lang/ui.lol.json | 20 +++--- lang/ui.nl.json | 12 ++++ lang/ui.zh-cn.json | 12 ++++ lang/ui.zh-tw.json | 12 ++++ ...-locale-244-93121a06520a592814db.worker.js | 1 - ...ht-locale-7-dc7a5e1b990b9e91c306.worker.js | 1 - ...ale-ca-537-e3d42c104c87070f53c5.worker.js} | 2 +- ...ale-de-913-6516fe648e06c3175b0d.worker.js} | 2 +- ...ale-en-100-ddc72e6b2c1f5de1a885.worker.js} | 2 +- ...-es-es-689-044348bd1ddc2b34a22e.worker.js} | 2 +- ...ale-fr-231-eb261203312776336920.worker.js} | 2 +- ...ocale-ja-43-6d57f933221789ac4fa5.worker.js | 1 + ...ale-ko-491-e2a228c1a7f81e59f14b.worker.js} | 2 +- ...ale-lol-598-ec1b193371d2420cb0eb.worker.js | 1 + ...ale-nl-888-88ebe3f78a0987ea286e.worker.js} | 2 +- ...-zh-cn-327-7f4c7cd6c69bb031b753.worker.js} | 2 +- ...-zh-tw-521-73fec50d616e10ee0648.worker.js} | 2 +- ...yright-main-382ffb2ee9671656ad85.worker.js | 3 + ...82ffb2ee9671656ad85.worker.js.LICENSE.txt} | 0 ...ht-main-382ffb2ee9671656ad85.worker.js.map | 1 + ...yright-main-fbd1b969112a733566b7.worker.js | 3 - ...ht-main-fbd1b969112a733566b7.worker.js.map | 1 - src/device/device.ts | 9 +++ src/device/mock.ts | 5 ++ src/device/simulator.ts | 5 ++ src/device/webusb.ts | 10 ++- src/editor/EditorContainer.tsx | 8 ++- src/editor/codemirror/CodeMirror.tsx | 23 ++++++- .../codemirror/language-server/diagnostics.ts | 26 +++++++- src/editor/codemirror/language-server/view.ts | 62 +++++++++++++++++-- src/editor/codemirror/themeExtensions.ts | 14 +++++ src/language-server/pyright.ts | 2 +- src/messages/ui.ca.json | 18 ++++++ src/messages/ui.de.json | 18 ++++++ src/messages/ui.en.json | 20 +++++- src/messages/ui.es-es.json | 18 ++++++ src/messages/ui.fr.json | 20 +++++- src/messages/ui.ja.json | 18 ++++++ src/messages/ui.ko.json | 18 ++++++ src/messages/ui.lol.json | 30 +++++---- src/messages/ui.nl.json | 18 ++++++ src/messages/ui.zh-cn.json | 18 ++++++ src/messages/ui.zh-tw.json | 18 ++++++ src/settings/SettingsArea.tsx | 17 +++++ src/settings/settings.tsx | 4 +- 52 files changed, 519 insertions(+), 52 deletions(-) delete mode 100644 public/workers/pyright-locale-244-93121a06520a592814db.worker.js delete mode 100644 public/workers/pyright-locale-7-dc7a5e1b990b9e91c306.worker.js rename public/workers/{pyright-locale-464-9ad967bc01f802ec7036.worker.js => pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js} (62%) rename public/workers/{pyright-locale-362-fd952ba8819f72429fa3.worker.js => pyright-locale-de-913-6516fe648e06c3175b0d.worker.js} (60%) rename public/workers/{pyright-locale-416-213af665ac61b39bb90a.worker.js => pyright-locale-en-100-ddc72e6b2c1f5de1a885.worker.js} (61%) rename public/workers/{pyright-locale-162-52858c93d4cbe348333a.worker.js => pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js} (62%) rename public/workers/{pyright-locale-846-49df54db2b702b64a1c6.worker.js => pyright-locale-fr-231-eb261203312776336920.worker.js} (61%) create mode 100644 public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js rename public/workers/{pyright-locale-372-10923792ec92d9be48e3.worker.js => pyright-locale-ko-491-e2a228c1a7f81e59f14b.worker.js} (61%) create mode 100644 public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js rename public/workers/{pyright-locale-101-c121083e2a7a54d431db.worker.js => pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js} (60%) rename public/workers/{pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js => pyright-locale-zh-cn-327-7f4c7cd6c69bb031b753.worker.js} (62%) rename public/workers/{pyright-locale-753-025cc0f8d4b408b3f912.worker.js => pyright-locale-zh-tw-521-73fec50d616e10ee0648.worker.js} (61%) create mode 100644 public/workers/pyright-main-382ffb2ee9671656ad85.worker.js rename public/workers/{pyright-main-fbd1b969112a733566b7.worker.js.LICENSE.txt => pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt} (100%) create mode 100644 public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map delete mode 100644 public/workers/pyright-main-fbd1b969112a733566b7.worker.js delete mode 100644 public/workers/pyright-main-fbd1b969112a733566b7.worker.js.map diff --git a/lang/ui.ca.json b/lang/ui.ca.json index bca7bb52a..883b8e86a 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -742,6 +742,14 @@ "defaultMessage": "Canviar mòduls de tercers pot significar que no funcionin com s'havia previst.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Configuració", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "visita microbit.org (s'obre en una pestanya nova)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Un altre procés està connectat a aquest dispositiu.", "description": "Part of WebUSB error message" diff --git a/lang/ui.de.json b/lang/ui.de.json index 42bf46a69..d3650bc9b 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -742,6 +742,14 @@ "defaultMessage": "Wenn du Module von Drittanbietern änderst, kann es sein, dass sie nicht mehr wie vorgesehen funktionieren.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Einstellungen", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "besuche microbit.org (öffnet in neuen Tab)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Ein anderer Prozess ist mit diesem Gerät verbunden.", "description": "Part of WebUSB error message" diff --git a/lang/ui.en.json b/lang/ui.en.json index f12fc199a..c863be945 100644 --- a/lang/ui.en.json +++ b/lang/ui.en.json @@ -743,6 +743,14 @@ "defaultMessage": "Changing third-party modules may mean they don’t work as intended.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Settings", "description": "Settings text" @@ -1111,6 +1119,10 @@ "defaultMessage": "visit microbit.org (opens in a new tab)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Another process is connected to this device.", "description": "Part of WebUSB error message" @@ -1163,4 +1175,4 @@ "defaultMessage": "Zoom out", "description": "Text label for zoom out button" } -} +} \ No newline at end of file diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index aa0e6f85c..a0965c8d9 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -742,6 +742,14 @@ "defaultMessage": "Cambiar los módulos de terceros puede provocar que no funcionen como deberían.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Configuración", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "visitar microbit.org (abre en una nueva pestaña)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Otro proceso está conectado a este dispositivo.", "description": "Part of WebUSB error message" diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 459567c90..186123602 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -742,6 +742,14 @@ "defaultMessage": "La modification de modules tiers peut empêcher leur bon fonctionnement.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Paramètres", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "visiter microbit.org (s’ouvre dans un nouvel onglet)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Un autre processus est connecté à cet appareil.", "description": "Part of WebUSB error message" diff --git a/lang/ui.ja.json b/lang/ui.ja.json index 00816c9ef..40299f50e 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -742,6 +742,14 @@ "defaultMessage": "サードパーティ製モジュールを変更すると、意図した通りに動作しない可能性があります。", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "設定", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "microbit.orgにアクセスします(新しいタブで開きます)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "別のプロセスがこのデバイスに接続されています。", "description": "Part of WebUSB error message" diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 4f0fa7668..f1f783615 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -742,6 +742,14 @@ "defaultMessage": "서드파티 모듈을 변경하면 모듈이 의도대로 작동하지 않을 수 있습니다.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "설정", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "microbit.org 방문(새 탭에서 열기)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "다른 프로세스가 이 장치에 연결되어 있습니다.", "description": "Part of WebUSB error message" diff --git a/lang/ui.lol.json b/lang/ui.lol.json index 39c1fd99e..e22ef6e7d 100644 --- a/lang/ui.lol.json +++ b/lang/ui.lol.json @@ -742,6 +742,14 @@ "defaultMessage": "crwdns331722:0crwdne331722:0", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "crwdns331724:0crwdne331724:0", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "crwdns331784:0crwdne331784:0", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "crwdns331786:0crwdne331786:0", "description": "Part of WebUSB error message" @@ -1130,14 +1142,6 @@ "defaultMessage": "crwdns331794:0crwdne331794:0", "description": "Part of WebUSB error message" }, - "webusb-error-update-req-description": { - "defaultMessage": "crwdns331796:0crwdne331796:0", - "description": "WebUSB error telling user to update firmware" - }, - "webusb-error-update-req-title": { - "defaultMessage": "crwdns331798:0crwdne331798:0", - "description": "Error text telling user to update firmware" - }, "webusb-not-supported": { "defaultMessage": "crwdns331800:0crwdne331800:0", "description": "Explantion shown when user's browser doesn't support WebUSB" diff --git a/lang/ui.nl.json b/lang/ui.nl.json index b2ded615d..c7b1c834e 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -742,6 +742,14 @@ "defaultMessage": "Wijzigen van modules van derden kan betekenen dat ze niet werken zoals bedoeld.", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "Instellingen", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "bezoek microbit.org (opent in een nieuw tabblad)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "Een ander proces is verbonden met dit apparaat.", "description": "Part of WebUSB error message" diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index bf60c362a..f98a1a80a 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -742,6 +742,14 @@ "defaultMessage": "更改第三方模块可能意味着它们无法按预期工作。", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "设置", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "访问 microbit.org (在新标签页中打开)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "另一个进程已连接到此设备。", "description": "Part of WebUSB error message" diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index b25af3439..82f0d8964 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -742,6 +742,14 @@ "defaultMessage": "變更第三方模組,可能代表它們無法按預期運作。", "description": "Checkbox setting label" }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Show warnings about V2-only features", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "description": "Checkbox setting label" + }, "settings": { "defaultMessage": "設置", "description": "Settings text" @@ -1110,6 +1118,10 @@ "defaultMessage": "造訪 microbit.org (在新索引標籤中開啟)", "description": "alt text for logo link to .org" }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Disable warnings about V2-only features", + "description": "Label for editor action" + }, "webusb-error-clear-connect-description-1": { "defaultMessage": "其他程序連線至此裝置。", "description": "Part of WebUSB error message" diff --git a/public/workers/pyright-locale-244-93121a06520a592814db.worker.js b/public/workers/pyright-locale-244-93121a06520a592814db.worker.js deleted file mode 100644 index aaae72795..000000000 --- a/public/workers/pyright-locale-244-93121a06520a592814db.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[244],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-7-dc7a5e1b990b9e91c306.worker.js b/public/workers/pyright-locale-7-dc7a5e1b990b9e91c306.worker.js deleted file mode 100644 index e2e0239d3..000000000 --- a/public/workers/pyright-locale-7-dc7a5e1b990b9e91c306.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[7],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-464-9ad967bc01f802ec7036.worker.js b/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js similarity index 62% rename from public/workers/pyright-locale-464-9ad967bc01f802ec7036.worker.js rename to public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js index 21ddcfb01..fd189a583 100644 --- a/public/workers/pyright-locale-464-9ad967bc01f802ec7036.worker.js +++ b/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[464],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[537],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-362-fd952ba8819f72429fa3.worker.js b/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js similarity index 60% rename from public/workers/pyright-locale-362-fd952ba8819f72429fa3.worker.js rename to public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js index 289072020..b26dd3ad7 100644 --- a/public/workers/pyright-locale-362-fd952ba8819f72429fa3.worker.js +++ b/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[362],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Duplizierter Parameter \\"{name}\\"","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Duplizierter Parameter \\"{name}\\"","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-416-213af665ac61b39bb90a.worker.js b/public/workers/pyright-locale-en-100-ddc72e6b2c1f5de1a885.worker.js similarity index 61% rename from public/workers/pyright-locale-416-213af665ac61b39bb90a.worker.js rename to public/workers/pyright-locale-en-100-ddc72e6b2c1f5de1a885.worker.js index 622f2bdc1..61c2fe3d5 100644 --- a/public/workers/pyright-locale-416-213af665ac61b39bb90a.worker.js +++ b/public/workers/pyright-locale-en-100-ddc72e6b2c1f5de1a885.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[416],{8416:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument does not match parameter type","argAssignmentFunction":"Argument does not match parameter type in function \\"{functionName}\\"","argAssignmentParam":"Argument does not match parameter type for parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument does not match parameter type for parameter \\"{paramName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedOne":"Expected 1 positional argument","assignmentTargetExpr":"Expression cannot be assignment target","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a \\"while\\" or \\"for\\" loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","continueOutsideLoop":"\\"continue\\" can be used only within a \\"while\\" or \\"for\\" loop","delTargetExpr":"Expression cannot be deleted","duplicateParam":"Duplicate parameter \\"{name}\\"","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedClassName":"Missing class name","expectedCloseBrace":"Missing closing bracket \\"}\\"","expectedCloseBracket":"Missing closing bracket \\"]\\"","expectedCloseParen":"Missing closing bracket \\")\\"","expectedColon":"Missing colon \\":\\"","expectedDelExpr":"Missing expression after \\"del\\"","expectedElse":"Missing \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExpr":"Missing expression","expectedFunctionName":"Missing function name after \\"def\\"","expectedIdentifier":"Missing identifier","expectedImport":"Missing \\"import\\"","expectedImportAlias":"Missing symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIn":"Missing \\"in\\"","expectedIndentedBlock":"Indent missing","expectedInExpr":"Missing expression after \\"in\\"","expectedMemberName":"Missing member name after \\".\\"","expectedModuleName":"Missing module name","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewlineOrSemicolon":"Unexpected extra content\\nStatements must be one per line","expectedOpenParen":"Missing opening bracket \\"(\\"","expectedParamName":"Missing parameter name","expectedSliceIndex":"Missing index or slice","expectedYieldExpr":"Expected expression in yield statement","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","importResolveFailure":"Module \\"{importName}\\" could not be found","importSymbolUnknown":"\\"{name}\\" not found in module \\"{moduleName}\\"","inconsistentIndent":"Indent does not match the previous line","inconsistentTabs":"Inconsistent use of tabs and spaces for indents","instanceMethodSelfParam":"Instance methods need a \\"self\\" parameter","invalidIdentifierChar":"Invalid character in identifier","invalidTokenChars":"Invalid character \\"{text}\\" in token","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","nonDefaultAfterDefault":"Non-default argument follows default argument","noOverload":"Arguments do not match parameter types","objectNotCallable":"Object is not callable","obscuredClassDeclaration":"Class \\"{name}\\" clashes with another declaration with the same name","obscuredFunctionDeclaration":"Function \\"{name}\\" clashes with another declaration with the same name","obscuredMethodDeclaration":"Method \\"{name}\\" clashes with another declaration with the same name","obscuredParameterDeclaration":"Parameter \\"{name}\\" clashes with another declaration with the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" clashes with another declaration with the same name","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramNameMissing":"No parameter named \\"{name}\\"","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","returnOutsideFunction":"\\"return\\" can only be used within a function","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String is not closed — missing quotation mark","symbolIsUndefined":"\\"{name}\\" is not defined","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeNotIterable":"Type is not iterable","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for this combination of types","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for this combination of types","unaccessedClass":"Class \\"{name}\\" is unused","unaccessedFunction":"Function \\"{name}\\" is unused","unaccessedImport":"Import \\"{name}\\" is unused","unaccessedSymbol":"\\"{name}\\" is unused","unaccessedVariable":"Variable \\"{name}\\" is unused","unexpectedIndent":"Unexpected indent","unreachableCode":"Code is unreachable\\nThe logic of your program means this code will never run"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[100],{8416:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument does not match parameter type","argAssignmentFunction":"Argument does not match parameter type in function \\"{functionName}\\"","argAssignmentParam":"Argument does not match parameter type for parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument does not match parameter type for parameter \\"{paramName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedOne":"Expected 1 positional argument","assignmentTargetExpr":"Expression cannot be assignment target","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a \\"while\\" or \\"for\\" loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","continueOutsideLoop":"\\"continue\\" can be used only within a \\"while\\" or \\"for\\" loop","delTargetExpr":"Expression cannot be deleted","duplicateParam":"Duplicate parameter \\"{name}\\"","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedClassName":"Missing class name","expectedCloseBrace":"Missing closing bracket \\"}\\"","expectedCloseBracket":"Missing closing bracket \\"]\\"","expectedCloseParen":"Missing closing bracket \\")\\"","expectedColon":"Missing colon \\":\\"","expectedDelExpr":"Missing expression after \\"del\\"","expectedElse":"Missing \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExpr":"Missing expression","expectedFunctionName":"Missing function name after \\"def\\"","expectedIdentifier":"Missing identifier","expectedImport":"Missing \\"import\\"","expectedImportAlias":"Missing symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIn":"Missing \\"in\\"","expectedIndentedBlock":"Indent missing","expectedInExpr":"Missing expression after \\"in\\"","expectedMemberName":"Missing member name after \\".\\"","expectedModuleName":"Missing module name","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewlineOrSemicolon":"Unexpected extra content\\nStatements must be one per line","expectedOpenParen":"Missing opening bracket \\"(\\"","expectedParamName":"Missing parameter name","expectedSliceIndex":"Missing index or slice","expectedYieldExpr":"Expected expression in yield statement","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","importResolveFailure":"Module \\"{importName}\\" could not be found","importSymbolUnknown":"\\"{name}\\" not found in module \\"{moduleName}\\"","inconsistentIndent":"Indent does not match the previous line","inconsistentTabs":"Inconsistent use of tabs and spaces for indents","instanceMethodSelfParam":"Instance methods need a \\"self\\" parameter","invalidIdentifierChar":"Invalid character in identifier","invalidTokenChars":"Invalid character \\"{text}\\" in token","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Non-default argument follows default argument","noOverload":"Arguments do not match parameter types","objectNotCallable":"Object is not callable","obscuredClassDeclaration":"Class \\"{name}\\" clashes with another declaration with the same name","obscuredFunctionDeclaration":"Function \\"{name}\\" clashes with another declaration with the same name","obscuredMethodDeclaration":"Method \\"{name}\\" clashes with another declaration with the same name","obscuredParameterDeclaration":"Parameter \\"{name}\\" clashes with another declaration with the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" clashes with another declaration with the same name","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramNameMissing":"No parameter named \\"{name}\\"","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","returnOutsideFunction":"\\"return\\" can only be used within a function","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String is not closed — missing quotation mark","symbolIsUndefined":"\\"{name}\\" is not defined","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeNotIterable":"Type is not iterable","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for this combination of types","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for this combination of types","unaccessedClass":"Class \\"{name}\\" is unused","unaccessedFunction":"Function \\"{name}\\" is unused","unaccessedImport":"Import \\"{name}\\" is unused","unaccessedSymbol":"\\"{name}\\" is unused","unaccessedVariable":"Variable \\"{name}\\" is unused","unexpectedIndent":"Unexpected indent","unreachableCode":"Code is unreachable\\nThe logic of your program means this code will never run"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-162-52858c93d4cbe348333a.worker.js b/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js similarity index 62% rename from public/workers/pyright-locale-162-52858c93d4cbe348333a.worker.js rename to public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js index 39ef21042..f53998790 100644 --- a/public/workers/pyright-locale-162-52858c93d4cbe348333a.worker.js +++ b/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[162],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[689],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-846-49df54db2b702b64a1c6.worker.js b/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js similarity index 61% rename from public/workers/pyright-locale-846-49df54db2b702b64a1c6.worker.js rename to public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js index 785d390c2..502c86fc4 100644 --- a/public/workers/pyright-locale-846-49df54db2b702b64a1c6.worker.js +++ b/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[846],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[231],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js b/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js new file mode 100644 index 000000000..410463665 --- /dev/null +++ b/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[43],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-372-10923792ec92d9be48e3.worker.js b/public/workers/pyright-locale-ko-491-e2a228c1a7f81e59f14b.worker.js similarity index 61% rename from public/workers/pyright-locale-372-10923792ec92d9be48e3.worker.js rename to public/workers/pyright-locale-ko-491-e2a228c1a7f81e59f14b.worker.js index 630cde0c8..0451cece3 100644 --- a/public/workers/pyright-locale-372-10923792ec92d9be48e3.worker.js +++ b/public/workers/pyright-locale-ko-491-e2a228c1a7f81e59f14b.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[372],{1372:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"오류: 인자가 매개변수 유형과 일치하지 않습니다.","argAssignmentFunction":"오류: 인자가 \\"{functionName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParam":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParamFunction":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argMissingForParam":"{name} 매개변수의 인자가 누락되어 있습니다.","argMissingForParams":"{name} 매개변수들의 인자가 누락됨","argMorePositionalExpectedCount":"위치 인자가 {expected}개 더 필요합니다.","argMorePositionalExpectedOne":"위치 인자를 1개 더 예상했습니다.","argPositional":"위치 인자가 필요합니다.","argPositionalExpectedOne":"위치 인자가 1개 필요합니다.","assignmentTargetExpr":"수학식은 값을 지정하는 대상이 될 수 없습니다.","booleanIsLowerCase":"변수 \\"{name}\\"은(는) 정의되지 않았습니다. \\"{booleanName}\\" 변수를 쓰려 했나요?","breakOutsideLoop":"\\"break\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","constructorNoArgs":"\\"{type}\\" 생성자에는 인자가 필요하지 않음","continueOutsideLoop":"\\"continue\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","delTargetExpr":"표현식은 삭제할 수 없음","duplicateParam":"매개변수 \\"{name}\\"(이)가 중복됨","expectedAssignRightHandExpr":"\\"=\\" 오른쪽에 표현식이 필요함","expectedBinaryRightHandExpr":"연산자 오른쪽에 표현식이 필요함","expectedClassName":"클래스 이름이 누락됨","expectedCloseBrace":"닫는 괄호 \\"}\\"가 누락됨","expectedCloseBracket":"닫는 괄호 \\"]\\"가 누락됨","expectedCloseParen":"닫는 괄호 \\")\\"가 누락됨","expectedColon":"콜론 \\":\\"이 누락됨 ","expectedDelExpr":"\\"del\\" 이후 표현식이 누락됨","expectedElse":"\\"else\\"가 누락됨","expectedEqualityOperator":"동등 연산자가 필요합니다. \\"==\\"입니까?","expectedExpr":"표현식이 누락됨","expectedFunctionName":"\\"def\\" 뒤의 함수 이름이 누락됨","expectedIdentifier":"식별자가 누락됨","expectedImport":"\\"import\\"가 누락됨","expectedImportAlias":"\\"as\\" 뒤의 기호가 누락됨","expectedImportSymbols":"가져오기 후 1개 이상의 기호 이름이 필요함","expectedIn":"\\"in\\"이 누락됨","expectedIndentedBlock":"들여쓰기가 누락됨","expectedInExpr":"\\"in\\" 뒤의 표현식이 누락됨","expectedMemberName":"\\".\\" 뒤의 멤버 이름이 누락됨","expectedModuleName":"모듈 이름이 누락됨","expectedNamedParameter":"키워드 매개변수 뒤에는 반드시 \\"*\\"를 붙여야 함","expectedNewlineOrSemicolon":"예상치 못한 추가 콘텐츠\\n구문은 한 줄이어야 함","expectedOpenParen":"여는 괄호 \\"(\\"가 누락됨","expectedParamName":"매개변수 이름이 누락됨","expectedSliceIndex":"인덱스 또는 슬라이스가 누락됨","expectedYieldExpr":"yield 구문에 표현식이 필요함","globalReassignment":"\\"{name}\\"(이)가 전역 선언 전에 할당되어 있음","globalRedefinition":"\\"{name}\\"(이)가 이미 전역 선언됨","importResolveFailure":"\\"{importName}\\" 모듈이 발견되지 않음","importSymbolUnknown":"\\"{moduleName}\\" 모듈에서 \\"{name}\\"(이)가 발견되지 않음","inconsistentIndent":"들여쓰기가 이전 줄과 일치하지 않음","inconsistentTabs":"들여쓰기에 탭과 스페이스가 불규칙적으로 사용됨","instanceMethodSelfParam":"인스턴스 메소드는 \\"self\\" 매개변수가 필요함","invalidIdentifierChar":"인식자의 문자가 올바르지 않음","invalidTokenChars":"토큰 내 문자 \\"{text}\\"(이)가 올바르지 않음","memberAccess":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버에 접근할 수 없음","memberDelete":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 삭제할 수 없음","memberSet":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 할당할 수 없음","moduleNotCallable":"모듈을 호출할 수 없음","moduleUnknownMember":"\\"{name}\\"(이)가 \\"{module}\\"의 기존 멤버가 아님","nonDefaultAfterDefault":"기본값 인자 뒤에 기본값이 아닌 인자가 입력됨","noOverload":"인자가 매개변수 유형과 일치하지 않음","objectNotCallable":"개체를 호출할 수 없음","obscuredClassDeclaration":"\\"{name}\\" 클래스가 같은 이름의 다른 선언과 충돌함","obscuredFunctionDeclaration":"\\"{name}\\" 함수가 같은 이름의 다른 선언과 충돌함","obscuredMethodDeclaration":"\\"{name}\\" 메소드가 같은 이름의 다른 선언과 충돌함","obscuredParameterDeclaration":"\\"{name}\\" 매개변수가 같은 이름의 다른 선언과 충돌함","obscuredVariableDeclaration":"\\"{name}\\" 선언이 같은 이름의 다른 선언과 충돌함","paramAfterKwargsParam":"\\"**\\" 매개변수 뒤에는 매개변수를 입력할 수 없음","paramAlreadyAssigned":"\\"{name}\\" 매개변수가 이미 할당됨","paramNameMissing":"이름이 \\"{name}\\"인 매개변수가 없음","positionArgAfterNamedArg":"키워드 인자 뒤에 위치 인자를 입력할 수 없음","returnOutsideFunction":"\\"return\\"은 함수 내에서만 사용해야 함","stringUnsupportedEscape":"문자열 리터럴 내에서 해당 이스케이프 시퀀스를 지원하지 않음","stringUnterminated":"문자열이 닫혀있지 않음 — 따옴표가 필요함","symbolIsUndefined":"\\"{name}\\"(이)가 정의되지 않음","trailingCommaInFromImport":"소괄호 없이는 후행 쉼표를 사용할 수 없음","tupleIndexOutOfRange":"{index} 인덱스가 {type} 유형의 범위 밖임","typeNotIterable":"Type은 연속형이 아님","typeNotSupportBinaryOperator":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","typeNotSupportBinaryOperatorBidirectional":"오류: \\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않습니다.","unaccessedClass":"\\"{name}\\" 클래스가 사용되지 않음","unaccessedFunction":"\\"{name}\\" 함수가 사용되지 않음","unaccessedImport":"\\"{name}\\" 가져오기가 사용되지 않음","unaccessedSymbol":"\\"{name}\\"(이)가 사용되지 않음","unaccessedVariable":"\\"{name}\\" 변수가 사용되지 않음\\n","unexpectedIndent":"예상치 못한 들여쓰기","unreachableCode":"코드에 접근할 수 없음\\n프로그램의 논리에 따르면 이 코드는 절대로 실행할 수 없음"},"DiagnosticAddendum":{"tupleSizeMismatch":"요소 크기가 일치하지 않음: {expected}(이)가 필요하지만 {received}(을)를 받음"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[491],{1372:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"오류: 인자가 매개변수 유형과 일치하지 않습니다.","argAssignmentFunction":"오류: 인자가 \\"{functionName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParam":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParamFunction":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argMissingForParam":"{name} 매개변수의 인자가 누락되어 있습니다.","argMissingForParams":"{name} 매개변수들의 인자가 누락됨","argMorePositionalExpectedCount":"위치 인자가 {expected}개 더 필요합니다.","argMorePositionalExpectedOne":"위치 인자를 1개 더 예상했습니다.","argPositional":"위치 인자가 필요합니다.","argPositionalExpectedOne":"위치 인자가 1개 필요합니다.","assignmentTargetExpr":"수학식은 값을 지정하는 대상이 될 수 없습니다.","booleanIsLowerCase":"변수 \\"{name}\\"은(는) 정의되지 않았습니다. \\"{booleanName}\\" 변수를 쓰려 했나요?","breakOutsideLoop":"\\"break\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","constructorNoArgs":"\\"{type}\\" 생성자에는 인자가 필요하지 않음","continueOutsideLoop":"\\"continue\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","delTargetExpr":"표현식은 삭제할 수 없음","duplicateParam":"매개변수 \\"{name}\\"(이)가 중복됨","expectedAssignRightHandExpr":"\\"=\\" 오른쪽에 표현식이 필요함","expectedBinaryRightHandExpr":"연산자 오른쪽에 표현식이 필요함","expectedClassName":"클래스 이름이 누락됨","expectedCloseBrace":"닫는 괄호 \\"}\\"가 누락됨","expectedCloseBracket":"닫는 괄호 \\"]\\"가 누락됨","expectedCloseParen":"닫는 괄호 \\")\\"가 누락됨","expectedColon":"콜론 \\":\\"이 누락됨 ","expectedDelExpr":"\\"del\\" 이후 표현식이 누락됨","expectedElse":"\\"else\\"가 누락됨","expectedEqualityOperator":"동등 연산자가 필요합니다. \\"==\\"입니까?","expectedExpr":"표현식이 누락됨","expectedFunctionName":"\\"def\\" 뒤의 함수 이름이 누락됨","expectedIdentifier":"식별자가 누락됨","expectedImport":"\\"import\\"가 누락됨","expectedImportAlias":"\\"as\\" 뒤의 기호가 누락됨","expectedImportSymbols":"가져오기 후 1개 이상의 기호 이름이 필요함","expectedIn":"\\"in\\"이 누락됨","expectedIndentedBlock":"들여쓰기가 누락됨","expectedInExpr":"\\"in\\" 뒤의 표현식이 누락됨","expectedMemberName":"\\".\\" 뒤의 멤버 이름이 누락됨","expectedModuleName":"모듈 이름이 누락됨","expectedNamedParameter":"키워드 매개변수 뒤에는 반드시 \\"*\\"를 붙여야 함","expectedNewlineOrSemicolon":"예상치 못한 추가 콘텐츠\\n구문은 한 줄이어야 함","expectedOpenParen":"여는 괄호 \\"(\\"가 누락됨","expectedParamName":"매개변수 이름이 누락됨","expectedSliceIndex":"인덱스 또는 슬라이스가 누락됨","expectedYieldExpr":"yield 구문에 표현식이 필요함","globalReassignment":"\\"{name}\\"(이)가 전역 선언 전에 할당되어 있음","globalRedefinition":"\\"{name}\\"(이)가 이미 전역 선언됨","importResolveFailure":"\\"{importName}\\" 모듈이 발견되지 않음","importSymbolUnknown":"\\"{moduleName}\\" 모듈에서 \\"{name}\\"(이)가 발견되지 않음","inconsistentIndent":"들여쓰기가 이전 줄과 일치하지 않음","inconsistentTabs":"들여쓰기에 탭과 스페이스가 불규칙적으로 사용됨","instanceMethodSelfParam":"인스턴스 메소드는 \\"self\\" 매개변수가 필요함","invalidIdentifierChar":"인식자의 문자가 올바르지 않음","invalidTokenChars":"토큰 내 문자 \\"{text}\\"(이)가 올바르지 않음","memberAccess":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버에 접근할 수 없음","memberDelete":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 삭제할 수 없음","memberSet":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 할당할 수 없음","moduleNotCallable":"모듈을 호출할 수 없음","moduleUnknownMember":"\\"{name}\\"(이)가 \\"{module}\\"의 기존 멤버가 아님","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"기본값 인자 뒤에 기본값이 아닌 인자가 입력됨","noOverload":"인자가 매개변수 유형과 일치하지 않음","objectNotCallable":"개체를 호출할 수 없음","obscuredClassDeclaration":"\\"{name}\\" 클래스가 같은 이름의 다른 선언과 충돌함","obscuredFunctionDeclaration":"\\"{name}\\" 함수가 같은 이름의 다른 선언과 충돌함","obscuredMethodDeclaration":"\\"{name}\\" 메소드가 같은 이름의 다른 선언과 충돌함","obscuredParameterDeclaration":"\\"{name}\\" 매개변수가 같은 이름의 다른 선언과 충돌함","obscuredVariableDeclaration":"\\"{name}\\" 선언이 같은 이름의 다른 선언과 충돌함","paramAfterKwargsParam":"\\"**\\" 매개변수 뒤에는 매개변수를 입력할 수 없음","paramAlreadyAssigned":"\\"{name}\\" 매개변수가 이미 할당됨","paramNameMissing":"이름이 \\"{name}\\"인 매개변수가 없음","positionArgAfterNamedArg":"키워드 인자 뒤에 위치 인자를 입력할 수 없음","returnOutsideFunction":"\\"return\\"은 함수 내에서만 사용해야 함","stringUnsupportedEscape":"문자열 리터럴 내에서 해당 이스케이프 시퀀스를 지원하지 않음","stringUnterminated":"문자열이 닫혀있지 않음 — 따옴표가 필요함","symbolIsUndefined":"\\"{name}\\"(이)가 정의되지 않음","trailingCommaInFromImport":"소괄호 없이는 후행 쉼표를 사용할 수 없음","tupleIndexOutOfRange":"{index} 인덱스가 {type} 유형의 범위 밖임","typeNotIterable":"Type은 연속형이 아님","typeNotSupportBinaryOperator":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","typeNotSupportBinaryOperatorBidirectional":"오류: \\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않습니다.","unaccessedClass":"\\"{name}\\" 클래스가 사용되지 않음","unaccessedFunction":"\\"{name}\\" 함수가 사용되지 않음","unaccessedImport":"\\"{name}\\" 가져오기가 사용되지 않음","unaccessedSymbol":"\\"{name}\\"(이)가 사용되지 않음","unaccessedVariable":"\\"{name}\\" 변수가 사용되지 않음\\n","unexpectedIndent":"예상치 못한 들여쓰기","unreachableCode":"코드에 접근할 수 없음\\n프로그램의 논리에 따르면 이 코드는 절대로 실행할 수 없음"},"DiagnosticAddendum":{"tupleSizeMismatch":"요소 크기가 일치하지 않음: {expected}(이)가 필요하지만 {received}(을)를 받음"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js b/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js new file mode 100644 index 000000000..906d7a8fe --- /dev/null +++ b/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[598],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-101-c121083e2a7a54d431db.worker.js b/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js similarity index 60% rename from public/workers/pyright-locale-101-c121083e2a7a54d431db.worker.js rename to public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js index 0ba52f208..a445b420b 100644 --- a/public/workers/pyright-locale-101-c121083e2a7a54d431db.worker.js +++ b/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[101],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[888],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js b/public/workers/pyright-locale-zh-cn-327-7f4c7cd6c69bb031b753.worker.js similarity index 62% rename from public/workers/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js rename to public/workers/pyright-locale-zh-cn-327-7f4c7cd6c69bb031b753.worker.js index daf1f009c..aa5be0431 100644 --- a/public/workers/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js +++ b/public/workers/pyright-locale-zh-cn-327-7f4c7cd6c69bb031b753.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[131],{8131:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"参数与参数类型不匹配","argAssignmentFunction":"参数与函数 \\"{functionName}\\" 中的参数类型不匹配","argAssignmentParam":"参数与参数 “{paramName}” 的参数类型不匹配","argAssignmentParamFunction":"参数与参数 “{paramName}” 的参数类型不匹配","argMissingForParam":"参数 {name} 缺少参数","argMissingForParams":"参数 {names} 缺少参数","argMorePositionalExpectedCount":"需要 {expected} 更多位置参数","argMorePositionalExpectedOne":"还需要 1 个位置参数","argPositional":"预期的位置参数","argPositionalExpectedOne":"预期的 1 个位置参数","assignmentTargetExpr":"表达式不能作为赋值目标","booleanIsLowerCase":"\\"{name}\\" 未定义。您指的是\\"{booleanName}\\"吗?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","constructorNoArgs":"预计 “{type}” 构造函数没有参数","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","delTargetExpr":"表达式不能被删除","duplicateParam":"重复参数 \\"{name}\\"","expectedAssignRightHandExpr":"“=”右侧的预期表达式","expectedBinaryRightHandExpr":"运算符右侧的预期表达式","expectedClassName":"缺少类名","expectedCloseBrace":"\\n缺少右括号“}”","expectedCloseBracket":"\\n缺少右括号“]”","expectedCloseParen":"\\n缺少右括号“)”","expectedColon":"缺少冒号\\":\\"","expectedDelExpr":"“del” 后缺少表达式","expectedElse":"缺少 “else”","expectedEqualityOperator":"预期等号运算符,您是指“==”吗?","expectedExpr":"缺少表达式","expectedFunctionName":"“def” 后缺少函数名称","expectedIdentifier":"缺少标识符","expectedImport":"缺少 ”import”(导入)","expectedImportAlias":"“as” 后缺少符号","expectedImportSymbols":"import (导入) 后需要一个或多个符号名称","expectedIn":"缺少 “in”","expectedIndentedBlock":"缺失缩进","expectedInExpr":"“in” 后缺少表达式","expectedMemberName":"“.” 后缺少成员名称","expectedModuleName":"缺少模块名称","expectedNamedParameter":"关键字参数必须跟在 \\"*\\" 后面","expectedNewlineOrSemicolon":"意外的额外内容\\n必须是每行一条语句","expectedOpenParen":"缺少左括号“(”","expectedParamName":"缺少参数名称","expectedSliceIndex":"缺少索引或切片","expectedYieldExpr":"yield 语句中的预期表达式","globalReassignment":"\\"{name}\\" 是在全局声明之前分配的","globalRedefinition":"“{name}” 已被声明为全局","importResolveFailure":"找不到模块 \\"{importName}\\"","importSymbolUnknown":"在模块 “{moduleName}” 中找不到 “{name}”","inconsistentIndent":"缩进与前一行不匹配","inconsistentTabs":"缩进的制表符和空格的使用不一致","instanceMethodSelfParam":"实例方法需要一个 “self” 参数","invalidIdentifierChar":"标识符中的无效字符","invalidTokenChars":"令牌中的无效字符 “{text}”","memberAccess":"无法访问类型 “{type}” 的成员 “{name}”","memberDelete":"无法删除类型 “{type}” 的成员 “{name}”","memberSet":"无法为类型 “{type}” 分配成员 “{name}”","moduleNotCallable":"模块不可调用","moduleUnknownMember":"\\"{name}\\" 不是模块 \\"{module}\\" 的已知成员","nonDefaultAfterDefault":"默认参数之后为非默认参数","noOverload":"参数与参数类型不匹配","objectNotCallable":"对象不可调用","obscuredClassDeclaration":"类 \\"{name}\\" 与另一个同名的声明冲突","obscuredFunctionDeclaration":"函数 \\"{name}\\" 与另一个同名的声明冲突","obscuredMethodDeclaration":"方法 \\"{name}\\" 与另一个同名的声明冲突","obscuredParameterDeclaration":"参数 \\"{name}\\" 与另一个同名的声明冲突","obscuredVariableDeclaration":"声明 \\"{name}\\" 与另一个同名的声明冲突","paramAfterKwargsParam":"参数不能跟在 \\"**\\" 参数之后","paramAlreadyAssigned":"参数 \\"{name}\\" 已分配","paramNameMissing":"没有名为 \\"{name}\\" 的参数","positionArgAfterNamedArg":"位置参数不能出现在关键字参数之后","returnOutsideFunction":"\\"return\\" (返回)只能在函数内使用","stringUnsupportedEscape":"在字符串字面量中不支持的转义序列","stringUnterminated":"字符串未闭合 - 缺少引号","symbolIsUndefined":"\\"{name}\\" 未定义","trailingCommaInFromImport":"不允许无圆括号的尾随逗号","tupleIndexOutOfRange":"索引 {index} 超出了类型 {type} 的范围","typeNotIterable":"类型不可迭代","typeNotSupportBinaryOperator":"此类型组合不支持运算符 “{operator}”","typeNotSupportBinaryOperatorBidirectional":"此类型组合不支持运算符 “{operator}”","unaccessedClass":"类 \\"{name}\\" 未使用","unaccessedFunction":"函数 “{name}” 未使用","unaccessedImport":"导入 “{name}” 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"变量 \\"{name}\\" 未使用","unexpectedIndent":"意外缩进","unreachableCode":"代码无法访问\\n您的程序的逻辑意味着此代码永远不会运行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不匹配;预期 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[327],{8131:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"参数与参数类型不匹配","argAssignmentFunction":"参数与函数 \\"{functionName}\\" 中的参数类型不匹配","argAssignmentParam":"参数与参数 “{paramName}” 的参数类型不匹配","argAssignmentParamFunction":"参数与参数 “{paramName}” 的参数类型不匹配","argMissingForParam":"参数 {name} 缺少参数","argMissingForParams":"参数 {names} 缺少参数","argMorePositionalExpectedCount":"需要 {expected} 更多位置参数","argMorePositionalExpectedOne":"还需要 1 个位置参数","argPositional":"预期的位置参数","argPositionalExpectedOne":"预期的 1 个位置参数","assignmentTargetExpr":"表达式不能作为赋值目标","booleanIsLowerCase":"\\"{name}\\" 未定义。您指的是\\"{booleanName}\\"吗?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","constructorNoArgs":"预计 “{type}” 构造函数没有参数","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","delTargetExpr":"表达式不能被删除","duplicateParam":"重复参数 \\"{name}\\"","expectedAssignRightHandExpr":"“=”右侧的预期表达式","expectedBinaryRightHandExpr":"运算符右侧的预期表达式","expectedClassName":"缺少类名","expectedCloseBrace":"\\n缺少右括号“}”","expectedCloseBracket":"\\n缺少右括号“]”","expectedCloseParen":"\\n缺少右括号“)”","expectedColon":"缺少冒号\\":\\"","expectedDelExpr":"“del” 后缺少表达式","expectedElse":"缺少 “else”","expectedEqualityOperator":"预期等号运算符,您是指“==”吗?","expectedExpr":"缺少表达式","expectedFunctionName":"“def” 后缺少函数名称","expectedIdentifier":"缺少标识符","expectedImport":"缺少 ”import”(导入)","expectedImportAlias":"“as” 后缺少符号","expectedImportSymbols":"import (导入) 后需要一个或多个符号名称","expectedIn":"缺少 “in”","expectedIndentedBlock":"缺失缩进","expectedInExpr":"“in” 后缺少表达式","expectedMemberName":"“.” 后缺少成员名称","expectedModuleName":"缺少模块名称","expectedNamedParameter":"关键字参数必须跟在 \\"*\\" 后面","expectedNewlineOrSemicolon":"意外的额外内容\\n必须是每行一条语句","expectedOpenParen":"缺少左括号“(”","expectedParamName":"缺少参数名称","expectedSliceIndex":"缺少索引或切片","expectedYieldExpr":"yield 语句中的预期表达式","globalReassignment":"\\"{name}\\" 是在全局声明之前分配的","globalRedefinition":"“{name}” 已被声明为全局","importResolveFailure":"找不到模块 \\"{importName}\\"","importSymbolUnknown":"在模块 “{moduleName}” 中找不到 “{name}”","inconsistentIndent":"缩进与前一行不匹配","inconsistentTabs":"缩进的制表符和空格的使用不一致","instanceMethodSelfParam":"实例方法需要一个 “self” 参数","invalidIdentifierChar":"标识符中的无效字符","invalidTokenChars":"令牌中的无效字符 “{text}”","memberAccess":"无法访问类型 “{type}” 的成员 “{name}”","memberDelete":"无法删除类型 “{type}” 的成员 “{name}”","memberSet":"无法为类型 “{type}” 分配成员 “{name}”","moduleNotCallable":"模块不可调用","moduleUnknownMember":"\\"{name}\\" 不是模块 \\"{module}\\" 的已知成员","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"默认参数之后为非默认参数","noOverload":"参数与参数类型不匹配","objectNotCallable":"对象不可调用","obscuredClassDeclaration":"类 \\"{name}\\" 与另一个同名的声明冲突","obscuredFunctionDeclaration":"函数 \\"{name}\\" 与另一个同名的声明冲突","obscuredMethodDeclaration":"方法 \\"{name}\\" 与另一个同名的声明冲突","obscuredParameterDeclaration":"参数 \\"{name}\\" 与另一个同名的声明冲突","obscuredVariableDeclaration":"声明 \\"{name}\\" 与另一个同名的声明冲突","paramAfterKwargsParam":"参数不能跟在 \\"**\\" 参数之后","paramAlreadyAssigned":"参数 \\"{name}\\" 已分配","paramNameMissing":"没有名为 \\"{name}\\" 的参数","positionArgAfterNamedArg":"位置参数不能出现在关键字参数之后","returnOutsideFunction":"\\"return\\" (返回)只能在函数内使用","stringUnsupportedEscape":"在字符串字面量中不支持的转义序列","stringUnterminated":"字符串未闭合 - 缺少引号","symbolIsUndefined":"\\"{name}\\" 未定义","trailingCommaInFromImport":"不允许无圆括号的尾随逗号","tupleIndexOutOfRange":"索引 {index} 超出了类型 {type} 的范围","typeNotIterable":"类型不可迭代","typeNotSupportBinaryOperator":"此类型组合不支持运算符 “{operator}”","typeNotSupportBinaryOperatorBidirectional":"此类型组合不支持运算符 “{operator}”","unaccessedClass":"类 \\"{name}\\" 未使用","unaccessedFunction":"函数 “{name}” 未使用","unaccessedImport":"导入 “{name}” 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"变量 \\"{name}\\" 未使用","unexpectedIndent":"意外缩进","unreachableCode":"代码无法访问\\n您的程序的逻辑意味着此代码永远不会运行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不匹配;预期 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-753-025cc0f8d4b408b3f912.worker.js b/public/workers/pyright-locale-zh-tw-521-73fec50d616e10ee0648.worker.js similarity index 61% rename from public/workers/pyright-locale-753-025cc0f8d4b408b3f912.worker.js rename to public/workers/pyright-locale-zh-tw-521-73fec50d616e10ee0648.worker.js index 5e03eefed..506061f96 100644 --- a/public/workers/pyright-locale-753-025cc0f8d4b408b3f912.worker.js +++ b/public/workers/pyright-locale-zh-tw-521-73fec50d616e10ee0648.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[753],{9753:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引數與參數類型不相符","argAssignmentFunction":"引數與函式 \\"{functionName}\\" 中的參數類型不相符","argAssignmentParam":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argAssignmentParamFunction":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argMissingForParam":"引數缺少參數 {name}","argMissingForParams":"引數缺少參數 {names}","argMorePositionalExpectedCount":"必須還要有 {expected} 個位置引數","argMorePositionalExpectedOne":"必須還要有 1 個位置引數","argPositional":"必須要有位置引數","argPositionalExpectedOne":"必須要有 1 個位置引數","assignmentTargetExpr":"運算式不能做為指派目標","booleanIsLowerCase":"\\"{name}\\" 未定義,您指的是 \\"{booleanName}\\" 嗎?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","constructorNoArgs":"\\"{type}\\" 構造函式不應有引數","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","delTargetExpr":"表達式不能刪除","duplicateParam":"複製參數 \\"{name}\\"","expectedAssignRightHandExpr":"運算式必須在 \\"=\\" 的右側","expectedBinaryRightHandExpr":"運算式必須在運算子的右側","expectedClassName":"缺少類別名稱","expectedCloseBrace":"缺少右括弧 \\"}\\"","expectedCloseBracket":"缺少右括弧 \\"]\\"","expectedCloseParen":"缺少右括弧 \\")\\"","expectedColon":"缺少冒號 \\":\\"","expectedDelExpr":"\\"del\\" 後缺少運算式","expectedElse":"缺少 \\"else\\"","expectedEqualityOperator":"預期的等號比較運算子,您的意思是 \\"==\\" 嗎?","expectedExpr":"缺少運算式","expectedFunctionName":"\\"def\\" 後缺少函式名稱","expectedIdentifier":"缺少識別元","expectedImport":"缺少 \\"import\\"","expectedImportAlias":"\\"as\\" 後缺少符號","expectedImportSymbols":"匯入後,必須要有一或多個符號名稱","expectedIn":"缺少 \\"in\\"","expectedIndentedBlock":"缺少縮排","expectedInExpr":"\\"in\\" 後缺少運算式","expectedMemberName":"\\".\\" 後缺少成員名稱","expectedModuleName":"缺少模組名稱","expectedNamedParameter":"關鍵字參數必須接在 \\"*\\" 後面","expectedNewlineOrSemicolon":"非預期的額外內容\\n陳述式必須每行一個","expectedOpenParen":"缺少左括弧 \\"(\\"","expectedParamName":"缺少參數名稱","expectedSliceIndex":"缺少索引或分割","expectedYieldExpr":"yield 陳述式中應該要有運算式","globalReassignment":"\\"{name}\\" 會在全域宣告之前指派","globalRedefinition":"\\"{name}\\" 已經全域宣告","importResolveFailure":"找不到模組 \\"{importName}\\"","importSymbolUnknown":"在模組 \\"{moduleName}\\" 中找不到 \\"{name}\\"","inconsistentIndent":"縮排與上一行不相符","inconsistentTabs":"縮排的索引標籤和空格的使用不一致","instanceMethodSelfParam":"執行個體方法需要一個 \\"self\\" 參數","invalidIdentifierChar":"識別元中的無效字元","invalidTokenChars":"通證中的無效字元 \\"{text}\\"","memberAccess":"無法存取類型 \\"{type}\\" 的成員 \\"{name}\\"","memberDelete":"無法刪除類型 \\"{type}\\" 的成員 \\"{name}\\"","memberSet":"無法指派類型 \\"{type}\\" 的成員 \\"{name}\\"","moduleNotCallable":"模組不可呼叫","moduleUnknownMember":"\\"{name}\\" 不是模組 \\"{module}\\" 的已知成員","nonDefaultAfterDefault":"非預設引數接在預設引數後面","noOverload":"引數與參數類型不相符","objectNotCallable":"物件不可呼叫","obscuredClassDeclaration":"類別 \\"{name}\\" 與另一個同名宣告衝突","obscuredFunctionDeclaration":"函式 \\"{name}\\" 與另一個同名宣告衝突","obscuredMethodDeclaration":"方法 \\"{name}\\" 與另一個同名宣告衝突","obscuredParameterDeclaration":"參數 \\"{name}\\" 與另一個同名宣告衝突","obscuredVariableDeclaration":"宣告 \\"{name}\\" 與另一個同名宣告衝突","paramAfterKwargsParam":"參數不能接在 \\"**\\" 參數後面","paramAlreadyAssigned":"參數 \\"{name}\\" 已指派","paramNameMissing":"沒有名為 \\"{name}\\" 的參數","positionArgAfterNamedArg":"位置引數不能出現在關鍵字引數之後","returnOutsideFunction":"\\"return\\" 只能在函式內使用","stringUnsupportedEscape":"字串常值中不支援的逸出序列","stringUnterminated":"字串未關閉 - 缺少引號","symbolIsUndefined":"\\"{name}\\" 未定義","trailingCommaInFromImport":"不允許不帶括號的尾端逗號","tupleIndexOutOfRange":"索引 {index} 超出類型 {type} 的範圍","typeNotIterable":"類型不可迭代","typeNotSupportBinaryOperator":"此類型組合不支援運算子 \\"{operator}\\"","typeNotSupportBinaryOperatorBidirectional":"此類型組合不支援運算子 \\"{operator}\\"","unaccessedClass":"類別 \\"{name}\\" 未使用","unaccessedFunction":"函式 \\"{name}\\" 未使用","unaccessedImport":"匯入 \\"{name}\\" 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"變數 \\"{name}\\" 未使用","unexpectedIndent":"非預期縮排","unreachableCode":"程式碼無法取得\\n您的程式邏輯代表這段程式碼永遠不會執行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不相符;必須是 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[521],{9753:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引數與參數類型不相符","argAssignmentFunction":"引數與函式 \\"{functionName}\\" 中的參數類型不相符","argAssignmentParam":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argAssignmentParamFunction":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argMissingForParam":"引數缺少參數 {name}","argMissingForParams":"引數缺少參數 {names}","argMorePositionalExpectedCount":"必須還要有 {expected} 個位置引數","argMorePositionalExpectedOne":"必須還要有 1 個位置引數","argPositional":"必須要有位置引數","argPositionalExpectedOne":"必須要有 1 個位置引數","assignmentTargetExpr":"運算式不能做為指派目標","booleanIsLowerCase":"\\"{name}\\" 未定義,您指的是 \\"{booleanName}\\" 嗎?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","constructorNoArgs":"\\"{type}\\" 構造函式不應有引數","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","delTargetExpr":"表達式不能刪除","duplicateParam":"複製參數 \\"{name}\\"","expectedAssignRightHandExpr":"運算式必須在 \\"=\\" 的右側","expectedBinaryRightHandExpr":"運算式必須在運算子的右側","expectedClassName":"缺少類別名稱","expectedCloseBrace":"缺少右括弧 \\"}\\"","expectedCloseBracket":"缺少右括弧 \\"]\\"","expectedCloseParen":"缺少右括弧 \\")\\"","expectedColon":"缺少冒號 \\":\\"","expectedDelExpr":"\\"del\\" 後缺少運算式","expectedElse":"缺少 \\"else\\"","expectedEqualityOperator":"預期的等號比較運算子,您的意思是 \\"==\\" 嗎?","expectedExpr":"缺少運算式","expectedFunctionName":"\\"def\\" 後缺少函式名稱","expectedIdentifier":"缺少識別元","expectedImport":"缺少 \\"import\\"","expectedImportAlias":"\\"as\\" 後缺少符號","expectedImportSymbols":"匯入後,必須要有一或多個符號名稱","expectedIn":"缺少 \\"in\\"","expectedIndentedBlock":"缺少縮排","expectedInExpr":"\\"in\\" 後缺少運算式","expectedMemberName":"\\".\\" 後缺少成員名稱","expectedModuleName":"缺少模組名稱","expectedNamedParameter":"關鍵字參數必須接在 \\"*\\" 後面","expectedNewlineOrSemicolon":"非預期的額外內容\\n陳述式必須每行一個","expectedOpenParen":"缺少左括弧 \\"(\\"","expectedParamName":"缺少參數名稱","expectedSliceIndex":"缺少索引或分割","expectedYieldExpr":"yield 陳述式中應該要有運算式","globalReassignment":"\\"{name}\\" 會在全域宣告之前指派","globalRedefinition":"\\"{name}\\" 已經全域宣告","importResolveFailure":"找不到模組 \\"{importName}\\"","importSymbolUnknown":"在模組 \\"{moduleName}\\" 中找不到 \\"{name}\\"","inconsistentIndent":"縮排與上一行不相符","inconsistentTabs":"縮排的索引標籤和空格的使用不一致","instanceMethodSelfParam":"執行個體方法需要一個 \\"self\\" 參數","invalidIdentifierChar":"識別元中的無效字元","invalidTokenChars":"通證中的無效字元 \\"{text}\\"","memberAccess":"無法存取類型 \\"{type}\\" 的成員 \\"{name}\\"","memberDelete":"無法刪除類型 \\"{type}\\" 的成員 \\"{name}\\"","memberSet":"無法指派類型 \\"{type}\\" 的成員 \\"{name}\\"","moduleNotCallable":"模組不可呼叫","moduleUnknownMember":"\\"{name}\\" 不是模組 \\"{module}\\" 的已知成員","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"非預設引數接在預設引數後面","noOverload":"引數與參數類型不相符","objectNotCallable":"物件不可呼叫","obscuredClassDeclaration":"類別 \\"{name}\\" 與另一個同名宣告衝突","obscuredFunctionDeclaration":"函式 \\"{name}\\" 與另一個同名宣告衝突","obscuredMethodDeclaration":"方法 \\"{name}\\" 與另一個同名宣告衝突","obscuredParameterDeclaration":"參數 \\"{name}\\" 與另一個同名宣告衝突","obscuredVariableDeclaration":"宣告 \\"{name}\\" 與另一個同名宣告衝突","paramAfterKwargsParam":"參數不能接在 \\"**\\" 參數後面","paramAlreadyAssigned":"參數 \\"{name}\\" 已指派","paramNameMissing":"沒有名為 \\"{name}\\" 的參數","positionArgAfterNamedArg":"位置引數不能出現在關鍵字引數之後","returnOutsideFunction":"\\"return\\" 只能在函式內使用","stringUnsupportedEscape":"字串常值中不支援的逸出序列","stringUnterminated":"字串未關閉 - 缺少引號","symbolIsUndefined":"\\"{name}\\" 未定義","trailingCommaInFromImport":"不允許不帶括號的尾端逗號","tupleIndexOutOfRange":"索引 {index} 超出類型 {type} 的範圍","typeNotIterable":"類型不可迭代","typeNotSupportBinaryOperator":"此類型組合不支援運算子 \\"{operator}\\"","typeNotSupportBinaryOperatorBidirectional":"此類型組合不支援運算子 \\"{operator}\\"","unaccessedClass":"類別 \\"{name}\\" 未使用","unaccessedFunction":"函式 \\"{name}\\" 未使用","unaccessedImport":"匯入 \\"{name}\\" 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"變數 \\"{name}\\" 未使用","unexpectedIndent":"非預期縮排","unreachableCode":"程式碼無法取得\\n您的程式邏輯代表這段程式碼永遠不會執行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不相符;必須是 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js new file mode 100644 index 000000000..60c5bed1f --- /dev/null +++ b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js @@ -0,0 +1,3 @@ +/*! For license information please see pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"6d57f933221789ac4fa5",100:"ddc72e6b2c1f5de1a885",231:"eb261203312776336920",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"e3d42c104c87070f53c5",598:"ec1b193371d2420cb0eb",689:"044348bd1ddc2b34a22e",888:"88ebe3f78a0987ea286e",913:"6516fe648e06c3175b0d"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-382ffb2ee9671656ad85.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-fbd1b969112a733566b7.worker.js.LICENSE.txt b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt similarity index 100% rename from public/workers/pyright-main-fbd1b969112a733566b7.worker.js.LICENSE.txt rename to public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt diff --git a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map new file mode 100644 index 000000000..5e1da227e --- /dev/null +++ b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":";yDAEAA,EAAQC,WAuCR,SAAqBC,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClDN,EAAQO,YAiDR,SAAsBL,GACpB,IAAIM,EAcAC,EAbAN,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvBO,EAAM,IAAIC,EAVhB,SAAsBT,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BM,CAAYV,EAAKG,EAAUC,IAEzCO,EAAU,EAGVC,EAAMR,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKI,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EACxBD,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,GACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACrCM,EAAUb,EAAIc,WAAWP,EAAI,IAC/BC,EAAIG,KAAcL,GAAO,GAAM,IAC/BE,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,EAmBnB,OAhBwB,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,EAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAmB,IAANL,GAGK,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,GAGZE,GA3FTV,EAAQiB,cAkHR,SAAwBC,GAQtB,IAPA,IAAIV,EACAM,EAAMI,EAAMC,OACZC,EAAaN,EAAM,EACnBO,EAAQ,GACRC,EAAiB,MAGZb,EAAI,EAAGc,EAAOT,EAAMM,EAAYX,EAAIc,EAAMd,GAAKa,EACtDD,EAAMG,KAAKC,EAAYP,EAAOT,EAAIA,EAAIa,EAAkBC,EAAOA,EAAQd,EAAIa,IAqB7E,OAjBmB,IAAfF,GACFZ,EAAMU,EAAMJ,EAAM,GAClBO,EAAMG,KACJE,EAAOlB,GAAO,GACdkB,EAAQlB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOU,EAAMJ,EAAM,IAAM,GAAKI,EAAMJ,EAAM,GAC1CO,EAAMG,KACJE,EAAOlB,GAAO,IACdkB,EAAQlB,GAAO,EAAK,IACpBkB,EAAQlB,GAAO,EAAK,IACpB,MAIGa,EAAMM,KAAK,KAzIpB,IALA,IAAID,EAAS,GACTX,EAAY,GACZJ,EAA4B,oBAAfiB,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFrB,EAAI,EAAGK,EAAMgB,EAAKX,OAAQV,EAAIK,IAAOL,EAC5CiB,EAAOjB,GAAKqB,EAAKrB,GACjBM,EAAUe,EAAKd,WAAWP,IAAMA,EAQlC,SAASL,EAASF,GAChB,IAAIY,EAAMZ,EAAIiB,OAEd,GAAIL,EAAM,EAAI,EACZ,MAAM,IAAIiB,MAAM,kDAKlB,IAAI1B,EAAWH,EAAI8B,QAAQ,KAO3B,OANkB,IAAd3B,IAAiBA,EAAWS,GAMzB,CAACT,EAJcA,IAAaS,EAC/B,EACA,EAAKT,EAAW,GAsEtB,SAASoB,EAAaP,EAAOe,EAAOC,GAGlC,IAFA,IAAI1B,EARoB2B,EASpBC,EAAS,GACJ3B,EAAIwB,EAAOxB,EAAIyB,EAAKzB,GAAK,EAChCD,GACIU,EAAMT,IAAM,GAAM,WAClBS,EAAMT,EAAI,IAAM,EAAK,QACP,IAAfS,EAAMT,EAAI,IACb2B,EAAOZ,KAdFE,GADiBS,EAeM3B,IAdT,GAAK,IACxBkB,EAAOS,GAAO,GAAK,IACnBT,EAAOS,GAAO,EAAI,IAClBT,EAAa,GAANS,IAaT,OAAOC,EAAOT,KAAK,IAjGrBZ,EAAU,IAAIC,WAAW,IAAM,GAC/BD,EAAU,IAAIC,WAAW,IAAM,I,4BCT/B,MAAMqB,EAAS,EAAQ,MACjBC,EAAU,EAAQ,KAClBC,EACe,mBAAXC,QAAkD,mBAAlBA,OAAY,IAChDA,OAAY,IAAE,8BACd,KAENxC,EAAQyC,OAASA,EACjBzC,EAAQ0C,WAyTR,SAAqBvB,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJsB,EAAOE,OAAOxB,IA5TvBnB,EAAQ4C,kBAAoB,GAE5B,MAAMC,EAAe,WAwDrB,SAASC,EAAc3B,GACrB,GAAIA,EAAS0B,EACX,MAAM,IAAIE,WAAW,cAAgB5B,EAAS,kCAGhD,MAAM6B,EAAM,IAAIpB,WAAWT,GAE3B,OADA8B,OAAOC,eAAeF,EAAKP,EAAOU,WAC3BH,EAaT,SAASP,EAAQW,EAAKC,EAAkBlC,GAEtC,GAAmB,iBAARiC,EAAkB,CAC3B,GAAgC,iBAArBC,EACT,MAAM,IAAIC,UACR,sEAGJ,OAAOC,EAAYH,GAErB,OAAOI,EAAKJ,EAAKC,EAAkBlC,GAKrC,SAASqC,EAAMC,EAAOJ,EAAkBlC,GACtC,GAAqB,iBAAVsC,EACT,OAqHJ,SAAqBC,EAAQC,GAK3B,GAJwB,iBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGRlB,EAAOmB,WAAWD,GACrB,MAAM,IAAIL,UAAU,qBAAuBK,GAG7C,MAAMxC,EAAwC,EAA/BlB,EAAWyD,EAAQC,GAClC,IAAIX,EAAMF,EAAa3B,GAEvB,MAAM0C,EAASb,EAAIc,MAAMJ,EAAQC,GASjC,OAPIE,IAAW1C,IAIb6B,EAAMA,EAAIe,MAAM,EAAGF,IAGdb,EA1IEgB,CAAWP,EAAOJ,GAG3B,GAAIY,YAAYC,OAAOT,GACrB,OAkJJ,SAAwBU,GACtB,GAAIC,EAAWD,EAAWvC,YAAa,CACrC,MAAMyC,EAAO,IAAIzC,WAAWuC,GAC5B,OAAOG,EAAgBD,EAAKE,OAAQF,EAAKG,WAAYH,EAAKpE,YAE5D,OAAOwE,EAAcN,GAvJZO,CAAcjB,GAGvB,GAAa,MAATA,EACF,MAAM,IAAIH,UACR,yHACiDG,GAIrD,GAAIW,EAAWX,EAAOQ,cACjBR,GAASW,EAAWX,EAAMc,OAAQN,aACrC,OAAOK,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAiC,oBAAtBwD,oBACNP,EAAWX,EAAOkB,oBAClBlB,GAASW,EAAWX,EAAMc,OAAQI,oBACrC,OAAOL,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAqB,iBAAVsC,EACT,MAAM,IAAIH,UACR,yEAIJ,MAAMsB,EAAUnB,EAAMmB,SAAWnB,EAAMmB,UACvC,GAAe,MAAXA,GAAmBA,IAAYnB,EACjC,OAAOhB,EAAOe,KAAKoB,EAASvB,EAAkBlC,GAGhD,MAAM0D,EAkJR,SAAqBC,GACnB,GAAIrC,EAAOsC,SAASD,GAAM,CACxB,MAAMhE,EAA4B,EAAtBkE,EAAQF,EAAI3D,QAClB6B,EAAMF,EAAahC,GAEzB,OAAmB,IAAfkC,EAAI7B,QAIR2D,EAAIT,KAAKrB,EAAK,EAAG,EAAGlC,GAHXkC,EAOX,YAAmBiC,IAAfH,EAAI3D,OACoB,iBAAf2D,EAAI3D,QAAuB+D,EAAYJ,EAAI3D,QAC7C2B,EAAa,GAEf2B,EAAcK,GAGN,WAAbA,EAAIK,MAAqBtD,MAAMuD,QAAQN,EAAIO,MACtCZ,EAAcK,EAAIO,WAD3B,EAtKUC,CAAW7B,GACrB,GAAIoB,EAAG,OAAOA,EAEd,GAAsB,oBAAXrC,QAAgD,MAAtBA,OAAO+C,aACH,mBAA9B9B,EAAMjB,OAAO+C,aACtB,OAAO9C,EAAOe,KAAKC,EAAMjB,OAAO+C,aAAa,UAAWlC,EAAkBlC,GAG5E,MAAM,IAAImC,UACR,yHACiDG,GAqBrD,SAAS+B,EAAYC,GACnB,GAAoB,iBAATA,EACT,MAAM,IAAInC,UAAU,0CACf,GAAImC,EAAO,EAChB,MAAM,IAAI1C,WAAW,cAAgB0C,EAAO,kCA4BhD,SAASlC,EAAakC,GAEpB,OADAD,EAAWC,GACJ3C,EAAa2C,EAAO,EAAI,EAAoB,EAAhBT,EAAQS,IAwC7C,SAAShB,EAAeiB,GACtB,MAAMvE,EAASuE,EAAMvE,OAAS,EAAI,EAA4B,EAAxB6D,EAAQU,EAAMvE,QAC9C6B,EAAMF,EAAa3B,GACzB,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAQV,GAAK,EAC/BuC,EAAIvC,GAAgB,IAAXiF,EAAMjF,GAEjB,OAAOuC,EAWT,SAASsB,EAAiBoB,EAAOlB,EAAYrD,GAC3C,GAAIqD,EAAa,GAAKkB,EAAMzF,WAAauE,EACvC,MAAM,IAAIzB,WAAW,wCAGvB,GAAI2C,EAAMzF,WAAauE,GAAcrD,GAAU,GAC7C,MAAM,IAAI4B,WAAW,wCAGvB,IAAIC,EAYJ,OAVEA,OADiBiC,IAAfT,QAAuCS,IAAX9D,EACxB,IAAIS,WAAW8D,QACDT,IAAX9D,EACH,IAAIS,WAAW8D,EAAOlB,GAEtB,IAAI5C,WAAW8D,EAAOlB,EAAYrD,GAI1C8B,OAAOC,eAAeF,EAAKP,EAAOU,WAE3BH,EA4BT,SAASgC,EAAS7D,GAGhB,GAAIA,GAAU0B,EACZ,MAAM,IAAIE,WAAW,0DACaF,EAAa8C,SAAS,IAAM,UAEhE,OAAgB,EAATxE,EAuGT,SAASlB,EAAYyD,EAAQC,GAC3B,GAAIlB,EAAOsC,SAASrB,GAClB,OAAOA,EAAOvC,OAEhB,GAAI8C,YAAYC,OAAOR,IAAWU,EAAWV,EAAQO,aACnD,OAAOP,EAAOzD,WAEhB,GAAsB,iBAAXyD,EACT,MAAM,IAAIJ,UACR,kGAC0BI,GAI9B,MAAM5C,EAAM4C,EAAOvC,OACbyE,EAAaC,UAAU1E,OAAS,IAAsB,IAAjB0E,UAAU,GACrD,IAAKD,GAAqB,IAAR9E,EAAW,OAAO,EAGpC,IAAIgF,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO7C,EACT,IAAK,OACL,IAAK,QACH,OAAOiF,EAAYrC,GAAQvC,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANL,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOkF,EAActC,GAAQvC,OAC/B,QACE,GAAI2E,EACF,OAAOF,GAAa,EAAIG,EAAYrC,GAAQvC,OAE9CwC,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,GAMtB,SAASI,EAAcvC,EAAU1B,EAAOC,GACtC,IAAI4D,GAAc,EAclB,SALcb,IAAVhD,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQkE,KAAKhF,OACf,MAAO,GAOT,SAJY8D,IAAR/C,GAAqBA,EAAMiE,KAAKhF,UAClCe,EAAMiE,KAAKhF,QAGTe,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFK0B,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOyC,EAASD,KAAMlE,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOmE,EAAUF,KAAMlE,EAAOC,GAEhC,IAAK,QACH,OAAOoE,EAAWH,KAAMlE,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOqE,EAAYJ,KAAMlE,EAAOC,GAElC,IAAK,SACH,OAAOsE,EAAYL,KAAMlE,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOuE,EAAaN,KAAMlE,EAAOC,GAEnC,QACE,GAAI4D,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAYA,EAAW,IAAIsC,cAC3BH,GAAc,GAatB,SAASY,EAAM7B,EAAG8B,EAAGC,GACnB,MAAMnG,EAAIoE,EAAE8B,GACZ9B,EAAE8B,GAAK9B,EAAE+B,GACT/B,EAAE+B,GAAKnG,EA4IT,SAASoG,EAAsBtC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAEhE,GAAsB,IAAlBxC,EAAOpD,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAfqD,GACTb,EAAWa,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAGZU,EADJV,GAAcA,KAGZA,EAAauC,EAAM,EAAKxC,EAAOpD,OAAS,GAItCqD,EAAa,IAAGA,EAAaD,EAAOpD,OAASqD,GAC7CA,GAAcD,EAAOpD,OAAQ,CAC/B,GAAI4F,EAAK,OAAQ,EACZvC,EAAaD,EAAOpD,OAAS,OAC7B,GAAIqD,EAAa,EAAG,CACzB,IAAIuC,EACC,OAAQ,EADJvC,EAAa,EAUxB,GALmB,iBAARsC,IACTA,EAAMrE,EAAOe,KAAKsD,EAAKnD,IAIrBlB,EAAOsC,SAAS+B,GAElB,OAAmB,IAAfA,EAAI3F,QACE,EAEH6F,EAAazC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAClD,GAAmB,iBAARD,EAEhB,OADAA,GAAY,IACgC,mBAAjClF,WAAWuB,UAAUnB,QAC1B+E,EACKnF,WAAWuB,UAAUnB,QAAQiF,KAAK1C,EAAQuC,EAAKtC,GAE/C5C,WAAWuB,UAAU+D,YAAYD,KAAK1C,EAAQuC,EAAKtC,GAGvDwC,EAAazC,EAAQ,CAACuC,GAAMtC,EAAYb,EAAUoD,GAG3D,MAAM,IAAIzD,UAAU,wCAGtB,SAAS0D,EAActG,EAAKoG,EAAKtC,EAAYb,EAAUoD,GACrD,IA0BItG,EA1BA0G,EAAY,EACZC,EAAY1G,EAAIS,OAChBkG,EAAYP,EAAI3F,OAEpB,QAAiB8D,IAAbtB,IAEe,UADjBA,EAAW2D,OAAO3D,GAAUsC,gBACY,UAAbtC,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIjD,EAAIS,OAAS,GAAK2F,EAAI3F,OAAS,EACjC,OAAQ,EAEVgG,EAAY,EACZC,GAAa,EACbC,GAAa,EACb7C,GAAc,EAIlB,SAAS+C,EAAMvE,EAAKvC,GAClB,OAAkB,IAAd0G,EACKnE,EAAIvC,GAEJuC,EAAIwE,aAAa/G,EAAI0G,GAKhC,GAAIJ,EAAK,CACP,IAAIU,GAAc,EAClB,IAAKhH,EAAI+D,EAAY/D,EAAI2G,EAAW3G,IAClC,GAAI8G,EAAK7G,EAAKD,KAAO8G,EAAKT,GAAqB,IAAhBW,EAAoB,EAAIhH,EAAIgH,IAEzD,IADoB,IAAhBA,IAAmBA,EAAahH,GAChCA,EAAIgH,EAAa,IAAMJ,EAAW,OAAOI,EAAaN,OAEtC,IAAhBM,IAAmBhH,GAAKA,EAAIgH,GAChCA,GAAc,OAKlB,IADIjD,EAAa6C,EAAYD,IAAW5C,EAAa4C,EAAYC,GAC5D5G,EAAI+D,EAAY/D,GAAK,EAAGA,IAAK,CAChC,IAAIiH,GAAQ,EACZ,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAWM,IAC7B,GAAIJ,EAAK7G,EAAKD,EAAIkH,KAAOJ,EAAKT,EAAKa,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOjH,EAItB,OAAQ,EAeV,SAASmH,EAAU5E,EAAKU,EAAQmE,EAAQ1G,GACtC0G,EAASC,OAAOD,IAAW,EAC3B,MAAME,EAAY/E,EAAI7B,OAAS0G,EAC1B1G,GAGHA,EAAS2G,OAAO3G,IACH4G,IACX5G,EAAS4G,GAJX5G,EAAS4G,EAQX,MAAMC,EAAStE,EAAOvC,OAKtB,IAAIV,EACJ,IAJIU,EAAS6G,EAAS,IACpB7G,EAAS6G,EAAS,GAGfvH,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAC3B,MAAMwH,EAASC,SAASxE,EAAOyE,OAAW,EAAJ1H,EAAO,GAAI,IACjD,GAAIyE,EAAY+C,GAAS,OAAOxH,EAChCuC,EAAI6E,EAASpH,GAAKwH,EAEpB,OAAOxH,EAGT,SAAS2H,EAAWpF,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EAAWtC,EAAYrC,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GAG3E,SAASmH,EAAYtF,EAAKU,EAAQmE,EAAQ1G,GACxC,OAAOkH,EAypCT,SAAuBE,GACrB,MAAMC,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,SAAUV,EAEhC+H,EAAUhH,KAAyB,IAApB+G,EAAIvH,WAAWP,IAEhC,OAAO+H,EA/pCWC,CAAa/E,GAASV,EAAK6E,EAAQ1G,GAGvD,SAASuH,EAAa1F,EAAKU,EAAQmE,EAAQ1G,GACzC,OAAOkH,EAAWrC,EAActC,GAASV,EAAK6E,EAAQ1G,GAGxD,SAASwH,EAAW3F,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EA0pCT,SAAyBE,EAAKK,GAC5B,IAAIC,EAAGC,EAAIC,EACX,MAAMP,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,WACjByH,GAAS,GAAK,KADanI,EAGhCoI,EAAIN,EAAIvH,WAAWP,GACnBqI,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTL,EAAUhH,KAAKuH,GACfP,EAAUhH,KAAKsH,GAGjB,OAAON,EAvqCWQ,CAAetF,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GA+E9E,SAASqF,EAAaxD,EAAKf,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQc,EAAI7B,OACtBkB,EAAOpB,cAAc+B,GAErBX,EAAOpB,cAAc+B,EAAIe,MAAM9B,EAAOC,IAIjD,SAASmE,EAAWrD,EAAKf,EAAOC,GAC9BA,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAC3B,MAAMiH,EAAM,GAEZ,IAAI1I,EAAIwB,EACR,KAAOxB,EAAIyB,GAAK,CACd,MAAMkH,EAAYpG,EAAIvC,GACtB,IAAI4I,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI3I,EAAI6I,GAAoBpH,EAAK,CAC/B,IAAIqH,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHG,EAAavG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,KACHG,GAA6B,GAAZN,IAAqB,EAAoB,GAAbG,EACzCG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACQ,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,KACnCE,GAA6B,GAAZN,IAAoB,IAAoB,GAAbG,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACpBgJ,EAAazG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,IAAsD,MAAV,IAAbC,KAClEC,GAA6B,GAAZN,IAAoB,IAAqB,GAAbG,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,KAMJ,OAAdL,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI3H,KAAK6H,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBF,EAAI3H,KAAK6H,GACT5I,GAAK6I,EAGP,OAQF,SAAgCK,GAC9B,MAAM7I,EAAM6I,EAAWxI,OACvB,GAAIL,GAAO8I,EACT,OAAOtC,OAAOuC,aAAaC,MAAMxC,OAAQqC,GAI3C,IAAIR,EAAM,GACN1I,EAAI,EACR,KAAOA,EAAIK,GACTqI,GAAO7B,OAAOuC,aAAaC,MACzBxC,OACAqC,EAAW5F,MAAMtD,EAAGA,GAAKmJ,IAG7B,OAAOT,EAvBAY,CAAsBZ,GA1+B/BnJ,EAAQgK,WAAanH,EAgBrBJ,EAAOwH,oBAUP,WAEE,IACE,MAAMvJ,EAAM,IAAIkB,WAAW,GACrBsI,EAAQ,CAAEC,IAAK,WAAc,OAAO,KAG1C,OAFAlH,OAAOC,eAAegH,EAAOtI,WAAWuB,WACxCF,OAAOC,eAAexC,EAAKwJ,GACN,KAAdxJ,EAAIyJ,MACX,MAAOC,GACP,OAAO,GAnBkBC,GAExB5H,EAAOwH,qBAA0C,oBAAZK,SACb,mBAAlBA,QAAQC,OACjBD,QAAQC,MACN,iJAkBJtH,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK5B,UAIhBtB,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK3B,cAqChB/B,EAAOkI,SAAW,KA8DlBlI,EAAOe,KAAO,SAAUC,EAAOJ,EAAkBlC,GAC/C,OAAOqC,EAAKC,EAAOJ,EAAkBlC,IAKvC8B,OAAOC,eAAeT,EAAOU,UAAWvB,WAAWuB,WACnDF,OAAOC,eAAeT,EAAQb,YA8B9Ba,EAAOE,MAAQ,SAAU8C,EAAMmF,EAAMjH,GACnC,OArBF,SAAgB8B,EAAMmF,EAAMjH,GAE1B,OADA6B,EAAWC,GACPA,GAAQ,EACH3C,EAAa2C,QAETR,IAAT2F,EAIyB,iBAAbjH,EACVb,EAAa2C,GAAMmF,KAAKA,EAAMjH,GAC9Bb,EAAa2C,GAAMmF,KAAKA,GAEvB9H,EAAa2C,GAQb9C,CAAM8C,EAAMmF,EAAMjH,IAW3BlB,EAAOc,YAAc,SAAUkC,GAC7B,OAAOlC,EAAYkC,IAKrBhD,EAAOoI,gBAAkB,SAAUpF,GACjC,OAAOlC,EAAYkC,IA8GrBhD,EAAOsC,SAAW,SAAmBF,GACnC,OAAY,MAALA,IAA6B,IAAhBA,EAAEiG,WACpBjG,IAAMpC,EAAOU,WAGjBV,EAAOsI,QAAU,SAAkBC,EAAGnG,GAGpC,GAFIT,EAAW4G,EAAGpJ,cAAaoJ,EAAIvI,EAAOe,KAAKwH,EAAGA,EAAEnD,OAAQmD,EAAE/K,aAC1DmE,EAAWS,EAAGjD,cAAaiD,EAAIpC,EAAOe,KAAKqB,EAAGA,EAAEgD,OAAQhD,EAAE5E,cACzDwC,EAAOsC,SAASiG,KAAOvI,EAAOsC,SAASF,GAC1C,MAAM,IAAIvB,UACR,yEAIJ,GAAI0H,IAAMnG,EAAG,OAAO,EAEpB,IAAIoG,EAAID,EAAE7J,OACN+J,EAAIrG,EAAE1D,OAEV,IAAK,IAAIV,EAAI,EAAGK,EAAMmI,KAAKC,IAAI+B,EAAGC,GAAIzK,EAAIK,IAAOL,EAC/C,GAAIuK,EAAEvK,KAAOoE,EAAEpE,GAAI,CACjBwK,EAAID,EAAEvK,GACNyK,EAAIrG,EAAEpE,GACN,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGTxI,EAAOmB,WAAa,SAAqBD,GACvC,OAAQ2D,OAAO3D,GAAUsC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbxD,EAAO0I,OAAS,SAAiBC,EAAMjK,GACrC,IAAKU,MAAMuD,QAAQgG,GACjB,MAAM,IAAI9H,UAAU,+CAGtB,GAAoB,IAAhB8H,EAAKjK,OACP,OAAOsB,EAAOE,MAAM,GAGtB,IAAIlC,EACJ,QAAewE,IAAX9D,EAEF,IADAA,EAAS,EACJV,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAC7BU,GAAUiK,EAAK3K,GAAGU,OAItB,MAAMoD,EAAS9B,EAAOc,YAAYpC,GAClC,IAAIkK,EAAM,EACV,IAAK5K,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAAG,CAChC,IAAIuC,EAAMoI,EAAK3K,GACf,GAAI2D,EAAWpB,EAAKpB,YACdyJ,EAAMrI,EAAI7B,OAASoD,EAAOpD,QACvBsB,EAAOsC,SAAS/B,KAAMA,EAAMP,EAAOe,KAAKR,IAC7CA,EAAIqB,KAAKE,EAAQ8G,IAEjBzJ,WAAWuB,UAAUmI,IAAIrE,KACvB1C,EACAvB,EACAqI,OAGC,KAAK5I,EAAOsC,SAAS/B,GAC1B,MAAM,IAAIM,UAAU,+CAEpBN,EAAIqB,KAAKE,EAAQ8G,GAEnBA,GAAOrI,EAAI7B,OAEb,OAAOoD,GAkDT9B,EAAOxC,WAAaA,EA8EpBwC,EAAOU,UAAU2H,WAAY,EAQ7BrI,EAAOU,UAAUoI,OAAS,WACxB,MAAMzK,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAEpB,OAAO0F,MAGT1D,EAAOU,UAAUqI,OAAS,WACxB,MAAM1K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUsI,OAAS,WACxB,MAAM3K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUwC,SAAW,WAC1B,MAAMxE,EAASgF,KAAKhF,OACpB,OAAe,IAAXA,EAAqB,GACA,IAArB0E,UAAU1E,OAAqBkF,EAAUF,KAAM,EAAGhF,GAC/C+E,EAAa4D,MAAM3D,KAAMN,YAGlCpD,EAAOU,UAAUuI,eAAiBjJ,EAAOU,UAAUwC,SAEnDlD,EAAOU,UAAUwI,OAAS,SAAiB9G,GACzC,IAAKpC,EAAOsC,SAASF,GAAI,MAAM,IAAIvB,UAAU,6BAC7C,OAAI6C,OAAStB,GACsB,IAA5BpC,EAAOsI,QAAQ5E,KAAMtB,IAG9BpC,EAAOU,UAAUyI,QAAU,WACzB,IAAIrD,EAAM,GACV,MAAMsD,EAAM7L,EAAQ4C,kBAGpB,OAFA2F,EAAMpC,KAAKR,SAAS,MAAO,EAAGkG,GAAKC,QAAQ,UAAW,OAAOC,OACzD5F,KAAKhF,OAAS0K,IAAKtD,GAAO,SACvB,WAAaA,EAAM,KAExBhG,IACFE,EAAOU,UAAUZ,GAAuBE,EAAOU,UAAUyI,SAG3DnJ,EAAOU,UAAU4H,QAAU,SAAkBiB,EAAQ/J,EAAOC,EAAK+J,EAAWC,GAI1E,GAHI9H,EAAW4H,EAAQpK,cACrBoK,EAASvJ,EAAOe,KAAKwI,EAAQA,EAAOnE,OAAQmE,EAAO/L,cAEhDwC,EAAOsC,SAASiH,GACnB,MAAM,IAAI1I,UACR,wFAC2B0I,GAiB/B,QAbc/G,IAAVhD,IACFA,EAAQ,QAEEgD,IAAR/C,IACFA,EAAM8J,EAASA,EAAO7K,OAAS,QAEf8D,IAAdgH,IACFA,EAAY,QAEEhH,IAAZiH,IACFA,EAAU/F,KAAKhF,QAGbc,EAAQ,GAAKC,EAAM8J,EAAO7K,QAAU8K,EAAY,GAAKC,EAAU/F,KAAKhF,OACtE,MAAM,IAAI4B,WAAW,sBAGvB,GAAIkJ,GAAaC,GAAWjK,GAASC,EACnC,OAAO,EAET,GAAI+J,GAAaC,EACf,OAAQ,EAEV,GAAIjK,GAASC,EACX,OAAO,EAQT,GAAIiE,OAAS6F,EAAQ,OAAO,EAE5B,IAAIf,GAJJiB,KAAa,IADbD,KAAe,GAMXf,GAPJhJ,KAAS,IADTD,KAAW,GASX,MAAMnB,EAAMmI,KAAKC,IAAI+B,EAAGC,GAElBiB,EAAWhG,KAAKpC,MAAMkI,EAAWC,GACjCE,EAAaJ,EAAOjI,MAAM9B,EAAOC,GAEvC,IAAK,IAAIzB,EAAI,EAAGA,EAAIK,IAAOL,EACzB,GAAI0L,EAAS1L,KAAO2L,EAAW3L,GAAI,CACjCwK,EAAIkB,EAAS1L,GACbyK,EAAIkB,EAAW3L,GACf,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA4HTxI,EAAOU,UAAUkJ,SAAW,SAAmBvF,EAAKtC,EAAYb,GAC9D,OAAoD,IAA7CwC,KAAKnE,QAAQ8E,EAAKtC,EAAYb,IAGvClB,EAAOU,UAAUnB,QAAU,SAAkB8E,EAAKtC,EAAYb,GAC5D,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IAG/DlB,EAAOU,UAAU+D,YAAc,SAAsBJ,EAAKtC,EAAYb,GACpE,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IA6C/DlB,EAAOU,UAAUW,MAAQ,SAAgBJ,EAAQmE,EAAQ1G,EAAQwC,GAE/D,QAAesB,IAAX4C,EACFlE,EAAW,OACXxC,EAASgF,KAAKhF,OACd0G,EAAS,OAEJ,QAAe5C,IAAX9D,GAA0C,iBAAX0G,EACxClE,EAAWkE,EACX1G,EAASgF,KAAKhF,OACd0G,EAAS,MAEJ,KAAIyE,SAASzE,GAUlB,MAAM,IAAI9F,MACR,2EAVF8F,KAAoB,EAChByE,SAASnL,IACXA,KAAoB,OACH8D,IAAbtB,IAAwBA,EAAW,UAEvCA,EAAWxC,EACXA,OAAS8D,GAQb,MAAM8C,EAAY5B,KAAKhF,OAAS0G,EAGhC,SAFe5C,IAAX9D,GAAwBA,EAAS4G,KAAW5G,EAAS4G,GAEpDrE,EAAOvC,OAAS,IAAMA,EAAS,GAAK0G,EAAS,IAAOA,EAAS1B,KAAKhF,OACrE,MAAM,IAAI4B,WAAW,0CAGlBY,IAAUA,EAAW,QAE1B,IAAImC,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,MACH,OAAOiE,EAASzB,KAAMzC,EAAQmE,EAAQ1G,GAExC,IAAK,OACL,IAAK,QACH,OAAOiH,EAAUjC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOmH,EAAWnC,KAAMzC,EAAQmE,EAAQ1G,GAE1C,IAAK,SAEH,OAAOuH,EAAYvC,KAAMzC,EAAQmE,EAAQ1G,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOwH,EAAUxC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,QACE,GAAI2E,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,IAKtBrD,EAAOU,UAAUoJ,OAAS,WACxB,MAAO,CACLpH,KAAM,SACNE,KAAMxD,MAAMsB,UAAUY,MAAMkD,KAAKd,KAAKqG,MAAQrG,KAAM,KA2FxD,MAAMyD,EAAuB,KAoB7B,SAAStD,EAAYtD,EAAKf,EAAOC,GAC/B,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAsB,IAAT7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASlG,EAAavD,EAAKf,EAAOC,GAChC,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAa7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASrG,EAAUpD,EAAKf,EAAOC,GAC7B,MAAMpB,EAAMkC,EAAI7B,SAEXc,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMpB,KAAKoB,EAAMpB,GAExC,IAAI4L,EAAM,GACV,IAAK,IAAIjM,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BiM,GAAOC,EAAoB3J,EAAIvC,IAEjC,OAAOiM,EAGT,SAASjG,EAAczD,EAAKf,EAAOC,GACjC,MAAM0K,EAAQ5J,EAAIe,MAAM9B,EAAOC,GAC/B,IAAIiH,EAAM,GAEV,IAAK,IAAI1I,EAAI,EAAGA,EAAImM,EAAMzL,OAAS,EAAGV,GAAK,EACzC0I,GAAO7B,OAAOuC,aAAa+C,EAAMnM,GAAqB,IAAfmM,EAAMnM,EAAI,IAEnD,OAAO0I,EAkCT,SAAS0D,EAAahF,EAAQiF,EAAK3L,GACjC,GAAK0G,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAC3D,GAAI8E,EAASiF,EAAM3L,EAAQ,MAAM,IAAI4B,WAAW,yCA0QlD,SAASgK,EAAU/J,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GAC/C,IAAKzG,EAAOsC,SAAS/B,GAAM,MAAM,IAAIM,UAAU,+CAC/C,GAAIG,EAAQoI,GAAOpI,EAAQyF,EAAK,MAAM,IAAInG,WAAW,qCACrD,GAAI8E,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBAgGtD,SAASiK,EAAgBhK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EACTjB,EAGT,SAASsF,EAAgBnK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,GAAUiB,EACPjB,EAAS,EAmHlB,SAASuF,EAAcpK,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GACnD,GAAIrB,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBACpD,GAAI8E,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAGvC,SAASsK,EAAYrK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOrD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAWlB,SAAS2F,EAAaxK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOtD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAxkBlBpF,EAAOU,UAAUY,MAAQ,SAAgB9B,EAAOC,GAC9C,MAAMpB,EAAMqF,KAAKhF,QACjBc,IAAUA,GAGE,GACVA,GAASnB,GACG,IAAGmB,EAAQ,GACdA,EAAQnB,IACjBmB,EAAQnB,IANVoB,OAAc+C,IAAR/C,EAAoBpB,IAAQoB,GASxB,GACRA,GAAOpB,GACG,IAAGoB,EAAM,GACVA,EAAMpB,IACfoB,EAAMpB,GAGJoB,EAAMD,IAAOC,EAAMD,GAEvB,MAAMwL,EAAStH,KAAKuH,SAASzL,EAAOC,GAIpC,OAFAe,OAAOC,eAAeuK,EAAQhL,EAAOU,WAE9BsK,GAWThL,EAAOU,UAAUwK,WACjBlL,EAAOU,UAAUyK,WAAa,SAAqB/F,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAG5B,OAAO/G,GAGTrE,EAAOU,UAAU2K,WACjBrL,EAAOU,UAAU4K,WAAa,SAAqBlG,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GACHV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAGvC,IAAI2F,EAAMX,KAAK0B,IAAW5H,GACtB4N,EAAM,EACV,KAAO5N,EAAa,IAAM4N,GAAO,MAC/B/G,GAAOX,KAAK0B,IAAW5H,GAAc4N,EAGvC,OAAO/G,GAGTrE,EAAOU,UAAU6K,UACjBvL,EAAOU,UAAU8K,UAAY,SAAoBpG,EAAQ0F,GAGvD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,IAGdpF,EAAOU,UAAU+K,aACjBzL,EAAOU,UAAUgL,aAAe,SAAuBtG,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,GAG7CpF,EAAOU,UAAUiL,aACjB3L,EAAOU,UAAUqE,aAAe,SAAuBK,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACnCgF,KAAK0B,IAAW,EAAK1B,KAAK0B,EAAS,IAG7CpF,EAAOU,UAAUkL,aACjB5L,EAAOU,UAAUmL,aAAe,SAAuBzG,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,SAElCgF,KAAK0B,GACT1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,IACD,SAAnB1B,KAAK0B,EAAS,IAGrBpF,EAAOU,UAAUoL,aACjB9L,EAAOU,UAAUqL,aAAe,SAAuB3G,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEpB,SAAfgF,KAAK0B,IACT1B,KAAK0B,EAAS,IAAM,GACrB1B,KAAK0B,EAAS,IAAM,EACrB1B,KAAK0B,EAAS,KAGlBpF,EAAOU,UAAUsL,gBAAkBC,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM4H,EAAK6F,EACQ,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,GAElBiB,EAAK3C,OAAO0B,GACC,IAAjB1B,OAAO0B,GACU,MAAjB1B,OAAO0B,GACPgH,EAAO,GAAK,GAEd,OAAO3B,OAAOnE,IAAOmE,OAAOpE,IAAOoE,OAAO,QAG5CzK,EAAOU,UAAU4L,gBAAkBL,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2H,EAAK8F,EAAQ,GAAK,GACL,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAEHkB,EAAK5C,OAAO0B,GAAU,GAAK,GACd,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,EAEF,OAAQ3B,OAAOpE,IAAOoE,OAAO,KAAOA,OAAOnE,MAG7CtG,EAAOU,UAAU6L,UAAY,SAAoBnH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAM5B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAU+L,UAAY,SAAoBrH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAIV,EAAIR,EACJ4N,EAAM,EACN/G,EAAMX,KAAK0B,IAAWpH,GAC1B,KAAOA,EAAI,IAAMoN,GAAO,MACtB/G,GAAOX,KAAK0B,IAAWpH,GAAKoN,EAM9B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAUgM,SAAW,SAAmBtH,EAAQ0F,GAGrD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACtB,IAAfgF,KAAK0B,IAC0B,GAA5B,IAAO1B,KAAK0B,GAAU,GADK1B,KAAK0B,IAI3CpF,EAAOU,UAAUiM,YAAc,SAAsBvH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUkM,YAAc,SAAsBxH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,EAAS,GAAM1B,KAAK0B,IAAW,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUmM,YAAc,SAAsBzH,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,GACV1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,IAGzBpF,EAAOU,UAAUoM,YAAc,SAAsB1H,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,IAAW,GACrB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAGnBpF,EAAOU,UAAUqM,eAAiBd,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,EAAMX,KAAK0B,EAAS,GACL,IAAnB1B,KAAK0B,EAAS,GACK,MAAnB1B,KAAK0B,EAAS,IACbgH,GAAQ,IAEX,OAAQ3B,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO0B,EACU,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,OAG1BpF,EAAOU,UAAUsM,eAAiBf,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,GAAO8H,GAAS,IACH,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAET,OAAQqF,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO/G,OAAO0B,GAAU,GAAK,GACZ,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,MAGJpM,EAAOU,UAAUuM,YAAc,SAAsB7H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAUwM,YAAc,SAAsB9H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAG/CpF,EAAOU,UAAUyM,aAAe,SAAuB/H,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAU0M,aAAe,SAAuBhI,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAS/CpF,EAAOU,UAAU2M,YACjBrN,EAAOU,UAAU4M,YAAc,SAAsBtM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAI4N,EAAM,EACNpN,EAAI,EAER,IADA0F,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MACjC1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU6M,YACjBvN,EAAOU,UAAU8M,YAAc,SAAsBxM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAIQ,EAAIR,EAAa,EACjB4N,EAAM,EAEV,IADA1H,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACzB1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU+M,WACjBzN,EAAOU,UAAUgN,WAAa,SAAqB1M,EAAOoE,EAAQ0F,GAKhE,OAJA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,IAAM,GACtD1B,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUiN,cACjB3N,EAAOU,UAAUkN,cAAgB,SAAwB5M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmN,cACjB7N,EAAOU,UAAUoN,cAAgB,SAAwB9M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUqN,cACjB/N,EAAOU,UAAUsN,cAAgB,SAAwBhN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUuN,cACjBjO,EAAOU,UAAUwN,cAAgB,SAAwBlN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GA+ClBpF,EAAOU,UAAUyN,iBAAmBlC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOmF,EAAe7G,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU0N,iBAAmBnC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOsF,EAAehH,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU2N,WAAa,SAAqBrN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAI,EACJoN,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MAC7BpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU8N,WAAa,SAAqBxN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAIR,EAAa,EACjB4N,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACrBpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU+N,UAAY,SAAoBzN,EAAOoE,EAAQ0F,GAM9D,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,KAAO,KACnDpE,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUgO,aAAe,SAAuB1N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUiO,aAAe,SAAuB3N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUkO,aAAe,SAAuB5N,EAAOoE,EAAQ0F,GAQpE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YAC7D1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmO,aAAe,SAAuB7N,EAAOoE,EAAQ0F,GASpE,OARA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YACzDpE,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C0C,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUoO,gBAAkB7C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOmF,EAAe7G,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAGnFzK,EAAOU,UAAUqO,gBAAkB9C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOsF,EAAehH,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAkBnFzK,EAAOU,UAAUsO,aAAe,SAAuBhO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAG/C9K,EAAOU,UAAUuO,aAAe,SAAuBjO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAahD9K,EAAOU,UAAUwO,cAAgB,SAAwBlO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAGhD9K,EAAOU,UAAUyO,cAAgB,SAAwBnO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAIjD9K,EAAOU,UAAUkB,KAAO,SAAe2H,EAAQ6F,EAAa5P,EAAOC,GACjE,IAAKO,EAAOsC,SAASiH,GAAS,MAAM,IAAI1I,UAAU,+BAQlD,GAPKrB,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMiE,KAAKhF,QAC9B0Q,GAAe7F,EAAO7K,SAAQ0Q,EAAc7F,EAAO7K,QAClD0Q,IAAaA,EAAc,GAC5B3P,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlB+J,EAAO7K,QAAgC,IAAhBgF,KAAKhF,OAAc,OAAO,EAGrD,GAAI0Q,EAAc,EAChB,MAAM,IAAI9O,WAAW,6BAEvB,GAAId,EAAQ,GAAKA,GAASkE,KAAKhF,OAAQ,MAAM,IAAI4B,WAAW,sBAC5D,GAAIb,EAAM,EAAG,MAAM,IAAIa,WAAW,2BAG9Bb,EAAMiE,KAAKhF,SAAQe,EAAMiE,KAAKhF,QAC9B6K,EAAO7K,OAAS0Q,EAAc3P,EAAMD,IACtCC,EAAM8J,EAAO7K,OAAS0Q,EAAc5P,GAGtC,MAAMnB,EAAMoB,EAAMD,EAalB,OAXIkE,OAAS6F,GAAqD,mBAApCpK,WAAWuB,UAAU2O,WAEjD3L,KAAK2L,WAAWD,EAAa5P,EAAOC,GAEpCN,WAAWuB,UAAUmI,IAAIrE,KACvB+E,EACA7F,KAAKuH,SAASzL,EAAOC,GACrB2P,GAIG/Q,GAOT2B,EAAOU,UAAUyH,KAAO,SAAe9D,EAAK7E,EAAOC,EAAKyB,GAEtD,GAAmB,iBAARmD,EAAkB,CAS3B,GARqB,iBAAV7E,GACT0B,EAAW1B,EACXA,EAAQ,EACRC,EAAMiE,KAAKhF,QACa,iBAARe,IAChByB,EAAWzB,EACXA,EAAMiE,KAAKhF,aAEI8D,IAAbtB,GAA8C,iBAAbA,EACnC,MAAM,IAAIL,UAAU,6BAEtB,GAAwB,iBAAbK,IAA0BlB,EAAOmB,WAAWD,GACrD,MAAM,IAAIL,UAAU,qBAAuBK,GAE7C,GAAmB,IAAfmD,EAAI3F,OAAc,CACpB,MAAMW,EAAOgF,EAAI9F,WAAW,IACV,SAAb2C,GAAuB7B,EAAO,KAClB,WAAb6B,KAEFmD,EAAMhF,QAGc,iBAARgF,EAChBA,GAAY,IACY,kBAARA,IAChBA,EAAMgB,OAAOhB,IAIf,GAAI7E,EAAQ,GAAKkE,KAAKhF,OAASc,GAASkE,KAAKhF,OAASe,EACpD,MAAM,IAAIa,WAAW,sBAGvB,GAAIb,GAAOD,EACT,OAAOkE,KAQT,IAAI1F,EACJ,GANAwB,KAAkB,EAClBC,OAAc+C,IAAR/C,EAAoBiE,KAAKhF,OAASe,IAAQ,EAE3C4E,IAAKA,EAAM,GAGG,iBAARA,EACT,IAAKrG,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EACzB0F,KAAK1F,GAAKqG,MAEP,CACL,MAAM8F,EAAQnK,EAAOsC,SAAS+B,GAC1BA,EACArE,EAAOe,KAAKsD,EAAKnD,GACf7C,EAAM8L,EAAMzL,OAClB,GAAY,IAARL,EACF,MAAM,IAAIwC,UAAU,cAAgBwD,EAClC,qCAEJ,IAAKrG,EAAI,EAAGA,EAAIyB,EAAMD,IAASxB,EAC7B0F,KAAK1F,EAAIwB,GAAS2K,EAAMnM,EAAIK,GAIhC,OAAOqF,MAOT,MAAM4L,EAAS,GACf,SAASC,EAAGC,EAAKC,EAAYC,GAC3BJ,EAAOE,GAAO,cAAwBE,EACpCC,cACEC,QAEApP,OAAOuH,eAAerE,KAAM,UAAW,CACrC1C,MAAOyO,EAAWpI,MAAM3D,KAAMN,WAC9ByM,UAAU,EACVC,cAAc,IAIhBpM,KAAKqM,KAAO,GAAGrM,KAAKqM,SAASP,KAG7B9L,KAAKsM,aAEEtM,KAAKqM,KAGd,WACE,OAAOP,EAGT,SAAUxO,GACRR,OAAOuH,eAAerE,KAAM,OAAQ,CAClCoM,cAAc,EACd9H,YAAY,EACZhH,QACA6O,UAAU,IAId3M,WACE,MAAO,GAAGQ,KAAKqM,SAASP,OAAS9L,KAAKuM,YAkC5C,SAASC,EAAuB7L,GAC9B,IAAIqC,EAAM,GACN1I,EAAIqG,EAAI3F,OACZ,MAAMc,EAAmB,MAAX6E,EAAI,GAAa,EAAI,EACnC,KAAOrG,GAAKwB,EAAQ,EAAGxB,GAAK,EAC1B0I,EAAM,IAAIrC,EAAI/C,MAAMtD,EAAI,EAAGA,KAAK0I,IAElC,MAAO,GAAGrC,EAAI/C,MAAM,EAAGtD,KAAK0I,IAa9B,SAAS8D,EAAYxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ5H,GACjD,GAAIwD,EAAQoI,GAAOpI,EAAQyF,EAAK,CAC9B,MAAMvC,EAAmB,iBAARuC,EAAmB,IAAM,GAC1C,IAAI0J,EAWJ,MARIA,EAFA3S,EAAa,EACH,IAARiJ,GAAaA,IAAQgE,OAAO,GACtB,OAAOvG,YAAYA,QAA2B,GAAlB1G,EAAa,KAAS0G,IAElD,SAASA,QAA2B,GAAlB1G,EAAa,GAAS,IAAI0G,iBACtB,GAAlB1G,EAAa,GAAS,IAAI0G,IAGhC,MAAMuC,IAAMvC,YAAYkF,IAAMlF,IAElC,IAAIoL,EAAOc,iBAAiB,QAASD,EAAOnP,IArBtD,SAAsBT,EAAK6E,EAAQ5H,GACjC0O,EAAe9G,EAAQ,eACH5C,IAAhBjC,EAAI6E,SAAsD5C,IAA7BjC,EAAI6E,EAAS5H,IAC5C6O,EAAYjH,EAAQ7E,EAAI7B,QAAUlB,EAAa,IAoBjD6S,CAAY9P,EAAK6E,EAAQ5H,GAG3B,SAAS0O,EAAgBlL,EAAO+O,GAC9B,GAAqB,iBAAV/O,EACT,MAAM,IAAIsO,EAAOgB,qBAAqBP,EAAM,SAAU/O,GAI1D,SAASqL,EAAarL,EAAOtC,EAAQgE,GACnC,GAAI8D,KAAK+J,MAAMvP,KAAWA,EAExB,MADAkL,EAAelL,EAAO0B,GAChB,IAAI4M,EAAOc,iBAAiB1N,GAAQ,SAAU,aAAc1B,GAGpE,GAAItC,EAAS,EACX,MAAM,IAAI4Q,EAAOkB,yBAGnB,MAAM,IAAIlB,EAAOc,iBAAiB1N,GAAQ,SACR,MAAMA,EAAO,EAAI,YAAYhE,IAC7BsC,GAtFpCuO,EAAE,4BACA,SAAUQ,GACR,OAAIA,EACK,GAAGA,gCAGL,mDACNzP,YACLiP,EAAE,wBACA,SAAUQ,EAAM3O,GACd,MAAO,QAAQ2O,4DAA+D3O,MAC7EP,WACL0O,EAAE,oBACA,SAAUzJ,EAAKqK,EAAOM,GACpB,IAAIC,EAAM,iBAAiB5K,sBACvB6K,EAAWF,EAWf,OAVIpL,OAAOuL,UAAUH,IAAUjK,KAAKqK,IAAIJ,GAAS,GAAK,GACpDE,EAAWT,EAAsBrL,OAAO4L,IACd,iBAAVA,IAChBE,EAAW9L,OAAO4L,IACdA,EAAQhG,OAAO,IAAMA,OAAO,KAAOgG,IAAUhG,OAAO,IAAMA,OAAO,QACnEkG,EAAWT,EAAsBS,IAEnCA,GAAY,KAEdD,GAAO,eAAeP,eAAmBQ,IAClCD,IACNpQ,YAiEL,MAAMwQ,EAAoB,oBAgB1B,SAASxN,EAAarC,EAAQkF,GAE5B,IAAIS,EADJT,EAAQA,GAAS4K,IAEjB,MAAMrS,EAASuC,EAAOvC,OACtB,IAAIsS,EAAgB,KACpB,MAAM7G,EAAQ,GAEd,IAAK,IAAInM,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAI/B,GAHA4I,EAAY3F,EAAO1C,WAAWP,GAG1B4I,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKoK,EAAe,CAElB,GAAIpK,EAAY,MAAQ,EAEjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SACK,GAAIf,EAAI,IAAMU,EAAQ,EAEtByH,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SAIFiS,EAAgBpK,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9CiS,EAAgBpK,EAChB,SAIFA,EAAkE,OAArDoK,EAAgB,OAAU,GAAKpK,EAAY,YAC/CoK,IAEJ7K,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAMhD,GAHAiS,EAAgB,KAGZpK,EAAY,IAAM,CACpB,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KAAK6H,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAItH,MAAM,sBARhB,IAAK6G,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOuD,EA4BT,SAAS5G,EAAeuC,GACtB,OAAOlG,EAAO9B,YAxHhB,SAAsBgI,GAMpB,IAFAA,GAFAA,EAAMA,EAAImL,MAAM,KAAK,IAEX3H,OAAOD,QAAQyH,EAAmB,KAEpCpS,OAAS,EAAG,MAAO,GAE3B,KAAOoH,EAAIpH,OAAS,GAAM,GACxBoH,GAAY,IAEd,OAAOA,EA6GmBoL,CAAYpL,IAGxC,SAASF,EAAYuL,EAAKC,EAAKhM,EAAQ1G,GACrC,IAAIV,EACJ,IAAKA,EAAI,EAAGA,EAAIU,KACTV,EAAIoH,GAAUgM,EAAI1S,QAAYV,GAAKmT,EAAIzS,UADpBV,EAExBoT,EAAIpT,EAAIoH,GAAU+L,EAAInT,GAExB,OAAOA,EAMT,SAAS2D,EAAYU,EAAKK,GACxB,OAAOL,aAAeK,GACZ,MAAPL,GAAkC,MAAnBA,EAAIsN,aAA+C,MAAxBtN,EAAIsN,YAAYI,MACzD1N,EAAIsN,YAAYI,OAASrN,EAAKqN,KAEpC,SAAStN,EAAaJ,GAEpB,OAAOA,GAAQA,EAKjB,MAAM6H,EAAsB,WAC1B,MAAMmH,EAAW,mBACXC,EAAQ,IAAIlS,MAAM,KACxB,IAAK,IAAIpB,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,MAAMuT,EAAU,GAAJvT,EACZ,IAAK,IAAIkH,EAAI,EAAGA,EAAI,KAAMA,EACxBoM,EAAMC,EAAMrM,GAAKmM,EAASrT,GAAKqT,EAASnM,GAG5C,OAAOoM,EATmB,GAa5B,SAASrF,EAAoBuF,GAC3B,MAAyB,oBAAX/G,OAAyBgH,EAAyBD,EAGlE,SAASC,IACP,MAAM,IAAInS,MAAM,0B,YCvjElB/B,EAAQuH,KAAO,SAAUhD,EAAQsD,EAAQsM,EAAMC,EAAMC,GACnD,IAAIjK,EAAGxD,EACH0N,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACThU,EAAI0T,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,GAAQ,EAAI,EAChBQ,EAAIpQ,EAAOsD,EAASpH,GAOxB,IALAA,GAAKiU,EAELtK,EAAIuK,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAGrK,EAAS,IAAJA,EAAW7F,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAKvE,IAHA7N,EAAIwD,GAAM,IAAOqK,GAAU,EAC3BrK,KAAQqK,EACRA,GAASL,EACFK,EAAQ,EAAG7N,EAAS,IAAJA,EAAWrC,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAEvE,GAAU,IAANrK,EACFA,EAAI,EAAIoK,MACH,IAAIpK,IAAMmK,EACf,OAAO3N,EAAIgO,IAAsBpB,KAAdmB,GAAK,EAAI,GAE5B/N,GAAQqC,KAAKgG,IAAI,EAAGmF,GACpBhK,GAAQoK,EAEV,OAAQG,GAAK,EAAI,GAAK/N,EAAIqC,KAAKgG,IAAI,EAAG7E,EAAIgK,IAG5CpU,EAAQ8D,MAAQ,SAAUS,EAAQd,EAAOoE,EAAQsM,EAAMC,EAAMC,GAC3D,IAAIjK,EAAGxD,EAAGiC,EACNyL,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAcnL,KAAKgG,IAAI,GAAI,IAAMhG,KAAKgG,IAAI,GAAI,IAAM,EAC1DxO,EAAI0T,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,GAAK,EAChBQ,EAAIlR,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQwF,KAAKqK,IAAI7P,GAEbqR,MAAMrR,IAAUA,IAAU+P,KAC5B5M,EAAIkO,MAAMrR,GAAS,EAAI,EACvB2G,EAAImK,IAEJnK,EAAInB,KAAK+J,MAAM/J,KAAK8L,IAAItR,GAASwF,KAAK+L,KAClCvR,GAASoF,EAAII,KAAKgG,IAAI,GAAI7E,IAAM,IAClCA,IACAvB,GAAK,IAGLpF,GADE2G,EAAIoK,GAAS,EACNK,EAAKhM,EAELgM,EAAK5L,KAAKgG,IAAI,EAAG,EAAIuF,IAEpB3L,GAAK,IACfuB,IACAvB,GAAK,GAGHuB,EAAIoK,GAASD,GACf3N,EAAI,EACJwD,EAAImK,GACKnK,EAAIoK,GAAS,GACtB5N,GAAMnD,EAAQoF,EAAK,GAAKI,KAAKgG,IAAI,EAAGmF,GACpChK,GAAQoK,IAER5N,EAAInD,EAAQwF,KAAKgG,IAAI,EAAGuF,EAAQ,GAAKvL,KAAKgG,IAAI,EAAGmF,GACjDhK,EAAI,IAIDgK,GAAQ,EAAG7P,EAAOsD,EAASpH,GAAS,IAAJmG,EAAUnG,GAAKiU,EAAG9N,GAAK,IAAKwN,GAAQ,GAI3E,IAFAhK,EAAKA,GAAKgK,EAAQxN,EAClB0N,GAAQF,EACDE,EAAO,EAAG/P,EAAOsD,EAASpH,GAAS,IAAJ2J,EAAU3J,GAAKiU,EAAGtK,GAAK,IAAKkK,GAAQ,GAE1E/P,EAAOsD,EAASpH,EAAIiU,IAAU,IAAJC,I,sBCzD5B,SAASM,EAAWC,GAClB,GAAoB,iBAATA,EACT,MAAM,IAAI5R,UAAU,mCAAqC6R,KAAKC,UAAUF,IAK5E,SAASG,EAAqBH,EAAMI,GAMlC,IALA,IAIIxT,EAJAqH,EAAM,GACNoM,EAAoB,EACpBC,GAAa,EACbC,EAAO,EAEFhV,EAAI,EAAGA,GAAKyU,EAAK/T,SAAUV,EAAG,CACrC,GAAIA,EAAIyU,EAAK/T,OACXW,EAAOoT,EAAKlU,WAAWP,OACpB,IAAa,KAATqB,EACP,MAEAA,EAAO,GACT,GAAa,KAATA,EAAmB,CACrB,GAAI0T,IAAc/U,EAAI,GAAc,IAATgV,QAEpB,GAAID,IAAc/U,EAAI,GAAc,IAATgV,EAAY,CAC5C,GAAItM,EAAIhI,OAAS,GAA2B,IAAtBoU,GAA8D,KAAnCpM,EAAInI,WAAWmI,EAAIhI,OAAS,IAAsD,KAAnCgI,EAAInI,WAAWmI,EAAIhI,OAAS,GAC1H,GAAIgI,EAAIhI,OAAS,EAAG,CAClB,IAAIuU,EAAiBvM,EAAIjC,YAAY,KACrC,GAAIwO,IAAmBvM,EAAIhI,OAAS,EAAG,EACb,IAApBuU,GACFvM,EAAM,GACNoM,EAAoB,GAGpBA,GADApM,EAAMA,EAAIpF,MAAM,EAAG2R,IACKvU,OAAS,EAAIgI,EAAIjC,YAAY,KAEvDsO,EAAY/U,EACZgV,EAAO,EACP,eAEG,GAAmB,IAAftM,EAAIhI,QAA+B,IAAfgI,EAAIhI,OAAc,CAC/CgI,EAAM,GACNoM,EAAoB,EACpBC,EAAY/U,EACZgV,EAAO,EACP,SAGAH,IACEnM,EAAIhI,OAAS,EACfgI,GAAO,MAEPA,EAAM,KACRoM,EAAoB,QAGlBpM,EAAIhI,OAAS,EACfgI,GAAO,IAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAEvC0I,EAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAClC8U,EAAoB9U,EAAI+U,EAAY,EAEtCA,EAAY/U,EACZgV,EAAO,OACW,KAAT3T,IAA+B,IAAV2T,IAC5BA,EAEFA,GAAQ,EAGZ,OAAOtM,EAeT,IAAIwM,EAAQ,CAEVC,QAAS,WAKP,IAJA,IAEIC,EAFAC,EAAe,GACfC,GAAmB,EAGdtV,EAAIoF,UAAU1E,OAAS,EAAGV,IAAM,IAAMsV,EAAkBtV,IAAK,CACpE,IAAIyU,EACAzU,GAAK,EACPyU,EAAOrP,UAAUpF,SAELwE,IAAR4Q,IACFA,EAAM,KACRX,EAAOW,GAGTZ,EAAWC,GAGS,IAAhBA,EAAK/T,SAIT2U,EAAeZ,EAAO,IAAMY,EAC5BC,EAA0C,KAAvBb,EAAKlU,WAAW,IASrC,OAFA8U,EAAeT,EAAqBS,GAAeC,GAE/CA,EACED,EAAa3U,OAAS,EACjB,IAAM2U,EAEN,IACAA,EAAa3U,OAAS,EACxB2U,EAEA,KAIXE,UAAW,SAAmBd,GAG5B,GAFAD,EAAWC,GAES,IAAhBA,EAAK/T,OAAc,MAAO,IAE9B,IAAI8U,EAAoC,KAAvBf,EAAKlU,WAAW,GAC7BkV,EAAyD,KAArChB,EAAKlU,WAAWkU,EAAK/T,OAAS,GAQtD,OAHoB,KAFpB+T,EAAOG,EAAqBH,GAAOe,IAE1B9U,QAAiB8U,IAAYf,EAAO,KACzCA,EAAK/T,OAAS,GAAK+U,IAAmBhB,GAAQ,KAE9Ce,EAAmB,IAAMf,EACtBA,GAGTe,WAAY,SAAoBf,GAE9B,OADAD,EAAWC,GACJA,EAAK/T,OAAS,GAA4B,KAAvB+T,EAAKlU,WAAW,IAG5CW,KAAM,WACJ,GAAyB,IAArBkE,UAAU1E,OACZ,MAAO,IAET,IADA,IAAIgV,EACK1V,EAAI,EAAGA,EAAIoF,UAAU1E,SAAUV,EAAG,CACzC,IAAI2C,EAAMyC,UAAUpF,GACpBwU,EAAW7R,GACPA,EAAIjC,OAAS,SACA8D,IAAXkR,EACFA,EAAS/S,EAET+S,GAAU,IAAM/S,GAGtB,YAAe6B,IAAXkR,EACK,IACFR,EAAMK,UAAUG,IAGzBC,SAAU,SAAkB5S,EAAM6S,GAIhC,GAHApB,EAAWzR,GACXyR,EAAWoB,GAEP7S,IAAS6S,EAAI,MAAO,GAKxB,IAHA7S,EAAOmS,EAAMC,QAAQpS,OACrB6S,EAAKV,EAAMC,QAAQS,IAEF,MAAO,GAIxB,IADA,IAAIC,EAAY,EACTA,EAAY9S,EAAKrC,QACa,KAA/BqC,EAAKxC,WAAWsV,KADYA,GASlC,IALA,IAAIC,EAAU/S,EAAKrC,OACfqV,EAAUD,EAAUD,EAGpBG,EAAU,EACPA,EAAUJ,EAAGlV,QACa,KAA3BkV,EAAGrV,WAAWyV,KADUA,GAW9B,IAPA,IACIC,EADQL,EAAGlV,OACKsV,EAGhBtV,EAASqV,EAAUE,EAAQF,EAAUE,EACrCC,GAAiB,EACjBlW,EAAI,EACDA,GAAKU,IAAUV,EAAG,CACvB,GAAIA,IAAMU,EAAQ,CAChB,GAAIuV,EAAQvV,EAAQ,CAClB,GAAmC,KAA/BkV,EAAGrV,WAAWyV,EAAUhW,GAG1B,OAAO4V,EAAGtS,MAAM0S,EAAUhW,EAAI,GACzB,GAAU,IAANA,EAGT,OAAO4V,EAAGtS,MAAM0S,EAAUhW,QAEnB+V,EAAUrV,IACoB,KAAnCqC,EAAKxC,WAAWsV,EAAY7V,GAG9BkW,EAAgBlW,EACD,IAANA,IAGTkW,EAAgB,IAGpB,MAEF,IAAIC,EAAWpT,EAAKxC,WAAWsV,EAAY7V,GAE3C,GAAImW,IADSP,EAAGrV,WAAWyV,EAAUhW,GAEnC,MACoB,KAAbmW,IACPD,EAAgBlW,GAGpB,IAAIiM,EAAM,GAGV,IAAKjM,EAAI6V,EAAYK,EAAgB,EAAGlW,GAAK8V,IAAW9V,EAClDA,IAAM8V,GAAkC,KAAvB/S,EAAKxC,WAAWP,KAChB,IAAfiM,EAAIvL,OACNuL,GAAO,KAEPA,GAAO,OAMb,OAAIA,EAAIvL,OAAS,EACRuL,EAAM2J,EAAGtS,MAAM0S,EAAUE,IAEhCF,GAAWE,EACoB,KAA3BN,EAAGrV,WAAWyV,MACdA,EACGJ,EAAGtS,MAAM0S,KAIpBI,UAAW,SAAmB3B,GAC5B,OAAOA,GAGT4B,QAAS,SAAiB5B,GAExB,GADAD,EAAWC,GACS,IAAhBA,EAAK/T,OAAc,MAAO,IAK9B,IAJA,IAAIW,EAAOoT,EAAKlU,WAAW,GACvB+V,EAAmB,KAATjV,EACVI,GAAO,EACP8U,GAAe,EACVvW,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAEtC,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAEnB,IAAKuW,EAAc,CACjB9U,EAAMzB,EACN,YAIJuW,GAAe,EAInB,OAAa,IAAT9U,EAAmB6U,EAAU,IAAM,IACnCA,GAAmB,IAAR7U,EAAkB,KAC1BgT,EAAKnR,MAAM,EAAG7B,IAGvB+U,SAAU,SAAkB/B,EAAMpI,GAChC,QAAY7H,IAAR6H,GAAoC,iBAARA,EAAkB,MAAM,IAAIxJ,UAAU,mCACtE2R,EAAWC,GAEX,IAGIzU,EAHAwB,EAAQ,EACRC,GAAO,EACP8U,GAAe,EAGnB,QAAY/R,IAAR6H,GAAqBA,EAAI3L,OAAS,GAAK2L,EAAI3L,QAAU+T,EAAK/T,OAAQ,CACpE,GAAI2L,EAAI3L,SAAW+T,EAAK/T,QAAU2L,IAAQoI,EAAM,MAAO,GACvD,IAAIgC,EAASpK,EAAI3L,OAAS,EACtBgW,GAAoB,EACxB,IAAK1W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACrC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GAGA,IAAKkV,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAGsB,IAAtB0W,IAGFH,GAAe,EACfG,EAAmB1W,EAAI,GAErByW,GAAU,IAERpV,IAASgL,EAAI9L,WAAWkW,IACR,KAAZA,IAGJhV,EAAMzB,IAKRyW,GAAU,EACVhV,EAAMiV,IAOd,OADIlV,IAAUC,EAAKA,EAAMiV,GAAmC,IAATjV,IAAYA,EAAMgT,EAAK/T,QACnE+T,EAAKnR,MAAM9B,EAAOC,GAEzB,IAAKzB,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAClC,GAA2B,KAAvByU,EAAKlU,WAAWP,IAGhB,IAAKuW,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAEgB,IAATyB,IAGX8U,GAAe,EACf9U,EAAMzB,EAAI,GAId,OAAa,IAATyB,EAAmB,GAChBgT,EAAKnR,MAAM9B,EAAOC,IAI7BkV,QAAS,SAAiBlC,GACxBD,EAAWC,GAQX,IAPA,IAAImC,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EAGfO,EAAc,EACT9W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACzC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GASS,IAATI,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EACFA,EAAW5W,EACY,IAAhB8W,IACPA,EAAc,IACK,IAAdF,IAGTE,GAAe,QArBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,OAuBR,OAAkB,IAAd4W,IAA4B,IAATnV,GAEH,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,EACjE,GAEFpC,EAAKnR,MAAMsT,EAAUnV,IAG9BsV,OAAQ,SAAgBC,GACtB,GAAmB,OAAfA,GAA6C,iBAAfA,EAChC,MAAM,IAAInU,UAAU,0EAA4EmU,GAElG,OAvVJ,SAAiBC,EAAKD,GACpB,IAAI1Q,EAAM0Q,EAAW1Q,KAAO0Q,EAAWE,KACnCC,EAAOH,EAAWG,OAASH,EAAWjF,MAAQ,KAAOiF,EAAW3K,KAAO,IAC3E,OAAK/F,EAGDA,IAAQ0Q,EAAWE,KACd5Q,EAAM6Q,EAER7Q,EA8UU,IA9UE6Q,EALVA,EAmVAC,CAAQ,EAAKJ,IAGtBK,MAAO,SAAe5C,GACpBD,EAAWC,GAEX,IAAIzI,EAAM,CAAEkL,KAAM,GAAI5Q,IAAK,GAAI6Q,KAAM,GAAI9K,IAAK,GAAI0F,KAAM,IACxD,GAAoB,IAAhB0C,EAAK/T,OAAc,OAAOsL,EAC9B,IAEIxK,EAFAH,EAAOoT,EAAKlU,WAAW,GACvBiV,EAAsB,KAATnU,EAEbmU,GACFxJ,EAAIkL,KAAO,IACX1V,EAAQ,GAERA,EAAQ,EAaV,IAXA,IAAIoV,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EACfvW,EAAIyU,EAAK/T,OAAS,EAIlBoW,EAAc,EAGX9W,GAAKwB,IAASxB,EAEnB,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAUV,IAATyB,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EAAiBA,EAAW5W,EAA2B,IAAhB8W,IAAmBA,EAAc,IACrD,IAAdF,IAGXE,GAAe,QAlBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,MAyCR,OArBkB,IAAd4W,IAA4B,IAATnV,GAEP,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,GACvD,IAATpV,IACiCuK,EAAImL,KAAOnL,EAAI+F,KAAhC,IAAd8E,GAAmBrB,EAAkCf,EAAKnR,MAAM,EAAG7B,GAAgCgT,EAAKnR,MAAMuT,EAAWpV,KAG7G,IAAdoV,GAAmBrB,GACrBxJ,EAAI+F,KAAO0C,EAAKnR,MAAM,EAAGsT,GACzB5K,EAAImL,KAAO1C,EAAKnR,MAAM,EAAG7B,KAEzBuK,EAAI+F,KAAO0C,EAAKnR,MAAMuT,EAAWD,GACjC5K,EAAImL,KAAO1C,EAAKnR,MAAMuT,EAAWpV,IAEnCuK,EAAIK,IAAMoI,EAAKnR,MAAMsT,EAAUnV,IAG7BoV,EAAY,EAAG7K,EAAI1F,IAAMmO,EAAKnR,MAAM,EAAGuT,EAAY,GAAYrB,IAAYxJ,EAAI1F,IAAM,KAElF0F,GAGTiL,IAAK,IACLK,UAAW,IACXC,MAAO,KACPrC,MAAO,MAGTA,EAAMA,MAAQA,EAEdsC,EAAOjY,QAAU2V,G,uBC9fjBuC,QAAQ/U,UAAUgV,aAAe,WAC7BhS,KAAKiS,OAAM,W,4BCbfH,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,MAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,4BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,KAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,KAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,KACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,KACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,MAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,KACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,2BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,yBChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,2BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,KA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,M,iCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,KAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,2BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,4BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,2BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,MAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,KACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,4BC72Df7I,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,KAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,KA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,2BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,KAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,KAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,KAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,KAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,KA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,MACzBC,EAAmB,EAAQ,KAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,4BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,KAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,yBCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,KA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,2EC5BrD,MAAMikC,EAAI,EAAQ,MACZC,EAAW,EAAAC,EAAO/2B,KAExB,MAAMA,UAAa82B,EACjBtrC,YAAa3O,GACX4O,MAAM5O,GACN0C,KAAKy3C,QAAS,EAEhBC,cACE,MAAO,GAAG13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBAIjF/lC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,EAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCnBX,MAAMR,EAAI,EAAQ,MAElB,MAAMS,UAAyBt3B,KAC7BxU,YAAa3O,GACX4O,MAAM5O,EAAQ,KACd0C,KAAKg4C,YAAa,EAEpBN,cAGE,MAAO,GAFS13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBACnEP,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAKtHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIC,EAAiBz6C,GAElC,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,qBCpBXhmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,KAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCNX,MAAMR,EAAI,EAAQ,MAElB,MAAMe,UAAa53B,KACjBxU,YAAa3O,GACX4O,MAAM,cAAc5O,MACpB0C,KAAKs4C,QAAS,EAEhBZ,cACE,MAAO,GAAGJ,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAIhHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIO,EAAK/6C,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,sBClBXhmC,EAAOjY,QAAU,CAAC0U,EAAGvS,KAEnB,IADAA,EAAMmF,OAAOnF,GACNA,EAAIhB,OAASuT,GAAGvS,EAAM,IAAMA,EACnC,OAAOA,I,sBCHT,MAAMu8C,EAAY,QAClB,MAAMC,UAAoB58C,MAExBqQ,YAAae,EAAKyrC,EAAUC,GAC1BxsC,MAAM,iBAAmBc,EAAKyrC,EAAUC,GACxC14C,KAAKqM,KAAO,cACZrM,KAAKrE,KAAO,cACRC,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMw4C,IAG/D,MAAMI,EACJ3sC,YAAa4sC,GACX74C,KAAK64C,OAASA,EACd74C,KAAKnD,IAAM,GACXmD,KAAK84C,SAAW,KAChB94C,KAAKggB,OAAS,KACdhgB,KAAK+4C,YAAc,KACnB/4C,KAAKg5C,UAAY,MAGrB,MAAMC,EACJhtC,cACEjM,KAAKkF,IAAM,EACXlF,KAAKk5C,IAAM,EACXl5C,KAAKk6B,KAAO,EACZl6B,KAAKrB,IAAM,GACXqB,KAAKm5C,IAAMn5C,KAAKrB,IAChBqB,KAAKsM,MAAQ,GACbtM,KAAKo5C,KAAO,GACZp5C,KAAKksC,KAAO,KACZlsC,KAAKq5C,GAAK,EACVr5C,KAAKse,MAAQ,IAAIs6B,EAAM54C,KAAKs5C,YAG9B3nC,MAAOvP,GAEL,GAAmB,IAAfA,EAAIpH,QAA8B,MAAdoH,EAAIpH,OAAgB,OAK5C,IAAIu+C,EACJ,IAJAv5C,KAAKo5C,KAAOj4C,OAAOiB,GACnBpC,KAAKq5C,IAAM,EACXr5C,KAAKksC,MAAQ,GAEM,IAAZqN,GAAqBv5C,KAAKw5C,YAC/BD,EAAUv5C,KAAKy5C,SAEjBz5C,KAAKo5C,KAAO,KAEdI,WASE,OARkB,KAAdx5C,KAAKksC,SACLlsC,KAAKk6B,KACPl6B,KAAKk5C,KAAO,KAEZl5C,KAAKq5C,GACPr5C,KAAKksC,KAAOlsC,KAAKo5C,KAAKM,YAAY15C,KAAKq5C,MACrCr5C,KAAKkF,MACLlF,KAAKk5C,IACAl5C,KAAK25C,aAEdA,aACE,OAAO35C,KAAKq5C,GAAKr5C,KAAKo5C,KAAKp+C,OAE7By+C,SACE,OAAOz5C,KAAKse,MAAMu6B,OAAO/3C,KAAKd,KAAMA,KAAKse,MAAMw6B,UAEjDc,SAEE,IAAIlxC,EADJ1I,KAAKksC,KAAOqM,EAEZ,GACE7vC,EAAO1I,KAAKse,MAAMu6B,OAClB74C,KAAKy5C,eACEz5C,KAAKse,MAAMu6B,SAAWnwC,GAM/B,OAJA1I,KAAKm5C,IAAM,KACXn5C,KAAKse,MAAQ,KACbte,KAAKo5C,KAAO,KAELp5C,KAAKrB,IAEdspB,KAAMna,GAEJ,GAAkB,mBAAPA,EAAmB,MAAM,IAAI0qC,EAAY,6CAA+CxpC,KAAKC,UAAUnB,IAClH9N,KAAKse,MAAMu6B,OAAS/qC,EAEtB+rC,KAAM/rC,GAEJ,OADA9N,KAAKioB,KAAKna,GACH9N,KAAKy5C,SAEd34C,KAAMgN,EAAIgsC,GACJA,GAAY95C,KAAKioB,KAAK6xB,GAC1B95C,KAAKsM,MAAMjR,KAAK2E,KAAKse,OACrBte,KAAKse,MAAQ,IAAIs6B,EAAM9qC,GAEzBisC,QAASjsC,EAAIgsC,GAEX,OADA95C,KAAKc,KAAKgN,EAAIgsC,GACP95C,KAAKy5C,SAEdO,OAAQ18C,GAEN,GAA0B,IAAtB0C,KAAKsM,MAAMtR,OAAc,MAAMgF,KAAKoE,MAAM,IAAIo0C,EAAY,yBAChD15C,IAAVxB,IAAqBA,EAAQ0C,KAAKse,MAAMzhB,KAC5CmD,KAAKse,MAAQte,KAAKsM,MAAM2tC,MACxBj6C,KAAKse,MAAMw6B,SAAWx7C,EAExB48C,UAAW58C,GAET,OADA0C,KAAKg6C,OAAO18C,GACL0C,KAAKy5C,SAEdU,UAEE,GAAIn6C,KAAKksC,OAASqM,EAAW,MAAMv4C,KAAKoE,MAAM,IAAIo0C,EAAY,6BAC9Dx4C,KAAKse,MAAMzhB,KAAOmD,KAAKo5C,KAAKp5C,KAAKq5C,IAEnCj1C,MAAO0pB,GAIL,OAHAA,EAAIoM,KAAOl6B,KAAKk6B,KAChBpM,EAAIorB,IAAMl5C,KAAKk5C,IACfprB,EAAI5oB,IAAMlF,KAAKkF,IACR4oB,EAGTwrB,aACE,MAAM,IAAId,EAAY,qCAG1BS,EAAOmB,IAAM7B,EACbU,EAAOr9C,MAAQ48C,EACf1mC,EAAOjY,QAAUo/C,G,0EC5HjBnnC,OAAOjY,QAAUwgD,gBAAgB,oBAAQ,OACzCvoC,OAAOjY,QAAQwgD,gBAAkBA,gBAEjC,MAAMC,kBAAkB1+C,MACtBqQ,YAAae,GACXd,MAAMc,GACNhN,KAAKqM,KAAO,YAERzQ,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMs6C,WAC3Dt6C,KAAKu6C,UAAW,EAChBv6C,KAAKw6C,QAAU,MAGnBF,UAAUG,KAAO3sB,IACf,MAAM4sB,EAAO,IAAIJ,UAAUxsB,EAAIvhB,SAG/B,OAFAmuC,EAAK/+C,KAAOmyB,EAAInyB,KAChB++C,EAAKF,QAAU1sB,EACR4sB,GAET5oC,OAAOjY,QAAQygD,UAAYA,UAE3B,MAAMK,eAAiB,oBAAQ,KACzBC,oBAAsB,oBAAQ,MAC9BC,WAAa,oBAAQ,MACrBC,WAAa,oBAAQ,MAErBC,OAAS,EACTC,OAAS,GACTC,OAAS,GACTC,mBAAqB,GACrBC,QAAU,GACVC,UAAY,GACZC,SAAW,GACXC,UAAY,GACZC,UAAY,GACZC,WAAa,GACbC,YAAc,GACdC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,WAAa,GACbC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,UAAY,IACZC,UAAY,IACZC,UAAY,GACZC,UAAY,GACZC,UAAY,GACZC,SAAW,IACXC,gBAAkB,MAClBC,eAAiB,MAEjBC,QAAU,CACd,CAACrB,QAAS,KACV,CAACS,QAAS,KACV,CAACJ,QAAS,KACV,CAACH,QAAS,KACV,CAACK,QAAS,KACV,CAAC5B,WAAY,IACb,CAACqC,WAAY,MAGf,SAASM,QAASC,GAChB,OAAOA,GAAMrC,QAAUqC,GAAMlC,OAE/B,SAASmC,QAASD,GAChB,OAAQA,GAAM/B,QAAU+B,GAAM7B,QAAY6B,GAAMxB,QAAUwB,GAAMrB,QAAYqB,GAAMrC,QAAUqC,GAAMlC,OAEpG,SAASoC,MAAOF,GACd,OAAOA,IAAOpC,QAAUoC,IAAOrC,OAEjC,SAASwC,QAASH,GAChB,OAAQA,GAAMrC,QAAUqC,GAAMnC,OAEhC,SAASuC,sBAAuBJ,GAC9B,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAO1C,WACP0C,IAAO5C,WACP4C,IAAOzB,aACPyB,IAAOvC,YAEhB,SAAS4C,iBAAkBL,GACzB,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAOzB,aACPyB,IAAOvC,YAEhB,MAAMt3B,MAAQ9nB,OAAO,QACfiiD,UAAYjiD,OAAO,YAEnBoW,eAAiB3V,OAAOE,UAAUyV,eAClCpO,eAAiBvH,OAAOuH,eACxBk6C,WAAa,CAACnyC,cAAc,EAAM9H,YAAY,EAAM6H,UAAU,EAAM7O,WAAOwB,GAEjF,SAAS0/C,OAAQ7/C,EAAKqjB,GACpB,QAAIvP,eAAe3R,KAAKnC,EAAKqjB,KACjB,cAARA,GAAqB3d,eAAe1F,EAAK,YAAa4/C,aACnD,GAGT,MAAME,aAAepiD,OAAO,gBAC5B,SAASqiD,cACP,OAAO5hD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOmhD,gBAGrB,SAASG,cAAejgD,GACtB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWs6B,aAGxB,MAAMI,MAAQxiD,OAAO,SACrB,SAASyiD,QACP,OAAOhiD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOuhD,OACjB,CAACP,WAAY,CAAChhD,OAAO,EAAO6O,UAAU,KAG1C,SAAS4yC,QAASpgD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW06B,MAGxB,MAAMG,aAAe3iD,OAAO,gBACtB4iD,YAAc5iD,OAAO,eAC3B,SAAS6iD,WAAYlgD,GACnB,OAAOlC,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO2hD,aACjB,CAACD,cAAe,CAAC1hD,MAAO0B,KAG5B,SAASmgD,aAAcxgD,GACrB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW86B,YAGxB,MAAMG,KAAO/iD,OAAO,QACpB,SAASgjD,OACP,OAAOviD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO8hD,QAGrB,SAASE,OAAQ3gD,GACf,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWi7B,KAIxB,IAAIG,QACJ,IACE,MAAMC,YAAcC,KAAK,2BACzBF,QAAUC,YAAYE,OACtB,MAAOjjC,IAIT,MAAMkjC,SAAWJ,SAAW,UAE5B,MAAMK,YACJ3zC,YAAa3O,GACX,IACE0C,KAAK1C,MAAQ,oBAAAk6C,EAAOzwC,OAAO84C,OAAO,GAAIviD,GACtC,MAAOmf,GAEPzc,KAAK1C,MAAQ,KAEfR,OAAOuH,eAAerE,KAAMmkB,MAAO,CAAC7mB,MAAOwiD,UAE7CnxC,QACE,OAAsB,OAAf3O,KAAK1C,MAGdkC,WACE,OAAO2B,OAAOnB,KAAK1C,OAGrB,CAACqiD,YACC,MAAO,YAAY3/C,KAAKR,eAE1Bf,UACE,OAAOuB,KAAK1C,OAIhB,MAAMwiD,QAAUzjD,OAAO,WACvB,SAAS0jD,QAASziD,GAChB,IAAItB,EAAM2F,OAAOrE,GAIjB,OAFIR,OAAOyX,GAAGvY,GAAM,KAAIA,EAAM,GAE1B,oBAAAw7C,EAAOzwC,SAAWpF,OAAOq+C,cAAchkD,GAClC,IAAI4jD,YAAYtiD,GAGhBR,OAAO6hD,iBAAiB,IAAIh9C,OAAO3F,GAAM,CAC9C2S,MAAO,CAACrR,MAAO,WAAc,OAAOqR,MAAM3O,QAC1C,CAACmkB,OAAQ,CAAC7mB,MAAOwiD,SACjB,CAACH,UAAW,CAACriD,MAAO,IAAM,aAAaA,QAI7C,SAAS4P,UAAWvO,GAClB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW27B,QAGxB,MAAMG,MAAQ5jD,OAAO,SACrB,SAAS6jD,MAAO5iD,GAEd,OAAOR,OAAO6hD,iBAAiB,IAAIh9C,OAAOrE,GAAQ,CAChD,CAAC6mB,OAAQ,CAAC7mB,MAAO2iD,OACjB,CAACN,UAAW,CAACriD,MAAO,IAAM,WAAWA,QAGzC,SAAS6iD,QAASxhD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW87B,MAGxB,SAASG,SAAU9iD,GACjB,MAAM0B,SAAc1B,EACpB,GAAa,WAAT0B,EAAmB,CAErB,GAAc,OAAV1B,EAAgB,MAAO,OAC3B,GAAIA,aAAiBmjB,KAAM,MAAO,WAElC,GAAI0D,SAAS7mB,EACX,OAAQA,EAAM6mB,QACZ,KAAKs6B,aAAc,MAAO,eAC1B,KAAKQ,YAAa,MAAO,cAEzB,KAAKJ,MAAO,MAAO,QAEnB,KAAKO,KAAM,MAAO,OAClB,KAAKa,MAAO,MAAO,QACnB,KAAKH,QAAS,MAAO,WAI3B,OAAO9gD,EAGT,SAASq7C,gBAAiBpB,GAolCxB,OAnlCA,cAAyBA,EACvBhtC,cACEC,QACAlM,KAAKm5C,IAAMn5C,KAAKrB,IAAMmgD,QAIxBuB,cACE,OAAOrgD,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAASiP,SAAWn7C,KAAKsgD,cAEzFA,cACE,OAAOtgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OAG3E3B,aACE,GAAIt5C,KAAKksC,OAAS+M,EAAOmB,IACvB,OAAO,KACF,GAAIp6C,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKugD,kBACjB,GAAIvgD,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAChG,OAAO,KACF,GAAImD,sBAAsBp+C,KAAKksC,MACpC,OAAOlsC,KAAK+5C,QAAQ/5C,KAAKygD,sBAEzB,MAAMzgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAAsBt6C,KAAKksC,UAM9DwU,uBACE,GAAI1gD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OACjE,OAAO,KACF,GAAIj7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAK65C,KAAK75C,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OACnD,OAAOh7C,KAAKg6C,SAEZ,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,gFAKnCmG,uBACE,OAAOzgD,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAK4gD,uBAE7CA,sBAAuBC,GACrB,IAAIh7C,EAAS7F,KAAKm5C,IACd2H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAQjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAK0gD,sBAIxBC,cACE,OAAO3gD,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAE9CA,oBAAqBj/B,GAMnB,OALIhiB,KAAKse,MAAMy6B,YACb/4C,KAAKse,MAAMy6B,YAAY19C,KAAK2mB,GAE5BhiB,KAAKse,MAAMy6B,YAAc,CAAC/2B,GAErBhiB,KAAK65C,KAAK75C,KAAKkhD,0BAExBA,2BACE,OAAIlhD,KAAKksC,OAASwP,YACT17C,KAAKioB,KAAKjoB,KAAKmhD,2BACbnhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAK65C,KAAK75C,KAAKohD,uBADjB,EAITD,4BACE,GAAInhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAIhDG,mBACE,GAAIphD,KAAKksC,OAAS8P,YAChB,OAAOh8C,KAAKioB,KAAKjoB,KAAKqhD,qBAEtB,MAAMrhD,KAAKoE,MAAM,IAAIk2C,UAAU,oCAGnC+G,sBACE,OAAIrhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAKuhD,mBAG9CA,kBAAmBjkD,GACjB,OAAO0C,KAAKk6C,UAAU,CAACl4B,IAAKhiB,KAAKse,MAAMy6B,YAAaz7C,MAAOA,IAI7DkjD,eACE,GACE,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OAC5C,OAAOh7C,KAAKg6C,eAEPh6C,KAAKw5C,YAIhB+G,mBACE,GAAIvgD,KAAKksC,OAASsR,UAGhB,OAAOx9C,KAAK65C,KAAK75C,KAAKwhD,YAFtBxhD,KAAKioB,KAAKjoB,KAAKyhD,WAOnBD,aAEE,OADAxhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK0hD,gBAExBA,iBACE,OAAI1hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK2hD,gBAGhDA,eAAgBC,GACd,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAClC,GAAIc,OAAOx+C,KAAKm5C,IAAKyI,MAAc7C,QAAQ/+C,KAAKm5C,IAAIyI,KAAa5hD,KAAKm5C,IAAIyI,GAAStD,YACjF,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAKjC,OAHEt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW5hD,KAAKm5C,IAAIyI,IAAY9C,QACpD9+C,KAAKm5C,IAAImF,YAAa,EAEjBt+C,KAAKioB,KAAKjoB,KAAK0gD,sBACjB,GAAI1gD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,GAAI7C,QAAQ/+C,KAAKm5C,IAAIyI,IAC1B5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,OACf,KAAItC,OAAOt/C,KAAKm5C,IAAIyI,IAGzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,QAJxDgF,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAQjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK0hD,gBAEtB,MAAM1hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCmH,YAEE,OADAzhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK6hD,eAExBA,gBACE,OAAI7hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK8hD,eAGhDA,cAAeF,GACb,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAIlC,GAHKc,OAAOx+C,KAAKm5C,IAAKyI,KACpB5hD,KAAKm5C,IAAIyI,GAAWvC,QAElBF,aAAan/C,KAAKm5C,IAAIyI,IACxB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,IAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IAKzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCALK,CACpC,MAAMryB,EAAO62B,QACb9+C,KAAKm5C,IAAIyI,GAASvmD,KAAK4sB,GACvBjoB,KAAKm5C,IAAMlxB,EAIb,OAAOjoB,KAAKioB,KAAKjoB,KAAK+hD,cACjB,GAAI/hD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,IAAIzC,aAAan/C,KAAKm5C,IAAIyI,IAC/B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIsE,cAAc5+C,KAAKm5C,IAAIyI,IAChC,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IACzB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,OACnD,KAAI+jD,QAAQ/+C,KAAKm5C,IAAIyI,IAG1B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,SARpB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAYjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK6hD,eAEtB,MAAM7hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAGnCyH,aAAcH,GACZ,GAAI5hD,KAAKksC,OAASwR,UAChB,OAAO19C,KAAKioB,KAAKjoB,KAAK0gD,sBAEtB,MAAM1gD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCgH,aACE,GAAIthD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,sBAC1B,GAAIt6C,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAKgiD,mBACtB,GAAIhiD,KAAKksC,OAASoP,UAClB,OAAOt7C,KAAKioB,KAAKjoB,KAAKiiD,mBACjB,GAAIjiD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UACpD,OAAOv7C,KAAK65C,KAAK75C,KAAKkiD,iBACjB,GAAIliD,KAAKksC,OAAS0Q,OACvB,OAAO58C,KAAKioB,KAAKjoB,KAAKmiD,UACjB,GAAIniD,KAAKksC,OAAS4Q,OACvB,OAAO98C,KAAKioB,KAAKjoB,KAAKoiD,UACjB,GAAIrE,QAAQ/9C,KAAKksC,MACtB,OAAOlsC,KAAK65C,KAAK75C,KAAKqiD,uBACjB,GAAIriD,KAAKksC,OAASgR,QAAUl9C,KAAKksC,OAASyQ,OAC/C,OAAO38C,KAAK65C,KAAK75C,KAAKsiD,cACjB,GAAItiD,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKuiD,gBAAiBviD,KAAKwiD,aACvC,GAAIxiD,KAAKksC,OAASoR,UACvB,OAAOt9C,KAAKc,KAAKd,KAAKyiD,iBAAkBziD,KAAKwiD,aAE7C,MAAMxiD,KAAKoE,MAAM,IAAIk2C,UAAU,oGAGnCkI,YAAallD,GACX,OAAO0C,KAAKk6C,UAAU58C,GAGxB6kD,WACE,GAAIniD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKioB,KAAKjoB,KAAK0iD,WAEtB,MAAM1iD,KAAKoE,MAAM,IAAIk2C,UAAU,2DAGnCoI,YACE,GAAI1iD,KAAKksC,OAASyQ,OAChB,MAAuB,MAAnB38C,KAAKse,MAAMzhB,IACNmD,KAAKg6C,QAAO,KAEZh6C,KAAKg6C,OAAO3sC,KAGrB,MAAMrN,KAAKoE,MAAM,IAAIk2C,UAAU,2DAInC8H,WACE,GAAIpiD,KAAKksC,OAASsQ,OAChB,OAAOx8C,KAAKioB,KAAKjoB,KAAK2iD,WAEtB,MAAM3iD,KAAKoE,MAAM,IAAIk2C,UAAU,yCAGnCqI,YACE,GAAI3iD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKg6C,OAAOvrC,KAEnB,MAAMzO,KAAKoE,MAAM,IAAIk2C,UAAU,yCAKnC0G,eACE,OAAIhhD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK4iD,kBACb5iD,KAAKksC,OAASoP,UAChBt7C,KAAKioB,KAAKjoB,KAAK6iD,oBAEf7iD,KAAK65C,KAAK75C,KAAK8iD,cAK1BA,eACE,EAAG,CACD,GAAI9iD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,4BAC1B,IAAI+D,iBAAiBr+C,KAAKksC,MAE1B,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,oCAE/B,OAAOt6C,KAAKk6C,YAJZl6C,KAAKm6C,gBAMAn6C,KAAKw5C,YAIhByI,oBACE,OAAIjiD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAK+iD,8BAEf/iD,KAAK65C,KAAK75C,KAAK6iD,oBAG1BA,qBACE,EAAG,CACD,GAAI7iD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBuJ,+BACE,OAAI/iD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKijD,yBAEfjjD,KAAKk6C,YAGhB+I,0BACE,OAAIjjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAKkjD,gCAEfljD,KAAK65C,KAAK75C,KAAKkjD,gCAG1BA,iCACE,EAAG,CACD,GAAIljD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKioB,KAAKjoB,KAAKmjD,sBACjB,GAAInjD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB2J,uBACE,OAAInjD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKojD,wBAEtBpjD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAG1BE,wBACE,OAAIpjD,KAAKksC,OAASoP,UACTt7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAK1BlB,oBACE,OAAIhiD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKqjD,uBAEfrjD,KAAK65C,KAAK75C,KAAK4iD,kBAG1BA,mBACE,EAAG,CACD,GAAI5iD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAKsjD,YAAatjD,KAAKujD,yBACnC,GAAIvjD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB+J,wBAAyBC,GAEvB,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK4iD,kBAExBS,wBACE,OAAIrjD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKyjD,kBAEfzjD,KAAKk6C,YAGhBuJ,mBACE,OAAIzjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAK0jD,yBAEf1jD,KAAK65C,KAAK75C,KAAK0jD,yBAG1BA,0BACE,EAAG,CACD,GAAI1jD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAK2jD,iBAAkB3jD,KAAK4jD,8BACxC,GAAI5jD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAK6jD,eACjB,GAAI7jD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBwJ,2BACE,IAAIc,EAAc,QAMlB,OALI9jD,KAAKksC,KAAO,KACd4X,GAAe,KAEjBA,GAAe9jD,KAAKksC,KAAK1sC,SAAS,IAE3BQ,KAAKoE,MAAM,IAAIk2C,UAAU,8EAA8EwJ,cAEhHF,6BAA8BJ,GAE5B,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK0jD,yBAExBG,gBACE,OAAI7jD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK+jD,iBAEtB/jD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BK,iBACE,OAAI/jD,KAAKksC,OAASkP,UACTp7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BC,mBACE,OAAI3jD,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACjCh7C,KAAKioB,KAAKjoB,KAAKgkD,gBACbhkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAKioB,KAAKjoB,KAAKikD,mBAEfjkD,KAAK65C,KAAK75C,KAAKsjD,aAG1BW,oBACE,GAAIjkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OAC/C,OAAOh7C,KAAKioB,KAAKjoB,KAAKgkD,gBAEtB,MAAMhkD,KAAKoE,MAAM,IAAIk2C,UAAU,4BAGnC0J,iBAEE,OAAIhkD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAClF,KAEAj7C,KAAKk6C,YAGhBoJ,cACE,GAAItjD,KAAKksC,QAAQ4R,QACf,OAAO99C,KAAKg6C,OAAO8D,QAAQ99C,KAAKksC,OAC3B,GAAIlsC,KAAKksC,OAASiR,OACvB,OAAOn9C,KAAKc,KAAKd,KAAKkkD,kBAAmBlkD,KAAKmkD,oBACzC,GAAInkD,KAAKksC,OAASmQ,OACvB,OAAOr8C,KAAKc,KAAKd,KAAKokD,kBAAmBpkD,KAAKmkD,oBAE9C,MAAMnkD,KAAKoE,MAAM,IAAIk2C,UAAU,6BAA+Bt6C,KAAKksC,OAGvEiY,mBAAoBjY,GAClB,IACE,MAAMhpC,EAAYnB,SAASmqC,EAAM,IACjC,GAAIhpC,GAAa06C,iBAAmB16C,GAAa26C,eAC/C,MAAM79C,KAAKoE,MAAM,IAAIk2C,UAAU,oEAEjC,OAAOt6C,KAAKk6C,UAAU/4C,OAAOkjD,cAAcnhD,IAC3C,MAAO4qB,GACP,MAAM9tB,KAAKoE,MAAMk2C,UAAUG,KAAK3sB,KAGpCo2B,oBACE,IAAKjG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAGhDoK,oBACE,IAAKnG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAKhDkI,kBAEE,OADAliD,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKskD,0BAExBA,2BACE,OAAItkD,KAAKksC,OAAS0Q,OACT58C,KAAKioB,KAAKjoB,KAAKmiD,UACbniD,KAAKksC,OAAS4Q,OAChB98C,KAAKioB,KAAKjoB,KAAKoiD,UAEfpiD,KAAK+5C,QAAQ/5C,KAAKukD,aAAcvkD,KAAKwkD,yBAGhDA,0BACE,OAAIxkD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKykD,sCAEfzkD,KAAK65C,KAAK75C,KAAK0kD,oBAG1BD,sCACE,OAAIzkD,KAAKksC,OAASwP,aAChB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7C6nD,qBACE,IAAI3G,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAKukD,cACjB,GAAIvkD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAE/C,OADA18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,yBACjB,GAAI5kD,KAAKksC,OAASwP,YAEvB,OADA17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBACpC,CACL,MAAM3kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IAfxBhgB,KAAKm6C,UAmBToK,eACE,GAAIvkD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,aAAe17C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAClG,MAAM18C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEd2K,+BACE,GAAI7kD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,YAC7C,MAAM17C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEdyK,mBACE,OAAI3kD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBAChC5G,QAAQ/9C,KAAKksC,WACtBlsC,KAAKm6C,UACIn6C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAG3C+nD,0BACE,GAAI7G,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAK65C,KAAK75C,KAAK8kD,qBACjB,GAAI9kD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAIpD,MAAMv7C,KAAKoE,MAAM,IAAIk2C,UAAU,iDAH/Bt6C,KAAKm6C,UACLn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK8kD,qBAKtCA,sBACE,IAAI/G,QAAQ/9C,KAAKksC,MAEV,OAAIlsC,KAAKksC,OAASqQ,YAChBv8C,KAAKc,KAAKd,KAAKukD,cAEfvkD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAJvCmD,KAAKm6C,UASTkI,wBACE,OAAIriD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK+kD,4BAEf/kD,KAAK65C,KAAK75C,KAAKglD,2BAG1BA,4BAEE,OAAIhlD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK0kD,oBAChC3G,QAAQ/9C,KAAKksC,OACtBlsC,KAAKm6C,eACDn6C,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAGgF,KAAKioB,KAAKjoB,KAAK0kD,sBACrC1kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BACb5kD,KAAKksC,OAASwP,aACvB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASuP,YAChBz7C,KAAK65C,KAAK75C,KAAKilD,eACbjlD,KAAKksC,OAAS6P,WAChB/7C,KAAK65C,KAAK75C,KAAKklD,mBAEfllD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CsoD,oBACE,GAAInlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAAG,CAC7B,GAAI+iD,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAKm6C,UACP,GAAIn6C,KAAKksC,OAAS6P,WACvB,OAAO/7C,KAAK65C,KAAK75C,KAAKklD,mBAEtB,MAAMllD,KAAKoE,MAAM,IAAIk2C,UAAU,qDAGjC,GAAIt6C,KAAKksC,OAASuP,YAChB,OAAOz7C,KAAK65C,KAAK75C,KAAKilD,eAEtB,MAAMjlD,KAAKoE,MAAM,IAAIk2C,UAAU,wDAIrCyK,4BACE,OAAI/kD,KAAKksC,OAASuQ,QAChBz8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKolD,kBAChDplD,KAAKksC,OAAS6Q,QACvB/8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKqlD,kBAChDrlD,KAAKksC,OAASkR,QACvBp9C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKslD,kBAChDtlD,KAAKksC,OAASwP,YAChB17C,KAAK65C,KAAK75C,KAAK0kD,oBACb3G,QAAQ/9C,KAAKksC,MACflsC,KAAK65C,KAAK75C,KAAKmlD,mBAEfnlD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CyoD,kBACE,IAAIrH,QAAQj+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTkL,kBACE,IAAIlH,QAAQn+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTiL,kBACE,IAAIlH,MAAMl+C,KAAKksC,MAER,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAeT8K,gBAEE,GAAIjlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,gEAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKulD,gBAExBA,iBACE,GAAIvlD,KAAKksC,OAASuP,YAAa,CAC7B,GAAIz7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,8DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKwlD,cACjB,IAAIzH,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTqL,eACE,GAAIxlD,KAAKksC,OAASkQ,QAAUp8C,KAAKksC,OAASiP,QAAS,CACjD,GAAIn7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,4DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKylD,oBACjB,GAAIzlD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MACjE,IAAIkhD,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTsL,qBACE,OAAIzlD,KAAKqgD,cACArgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,SAErChgB,KAAK65C,KAAK75C,KAAK0lD,eAG1BA,gBACE,GAAI1lD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK2lD,cACjB,IAAI5H,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTwL,eACE,KAAI3lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK4lD,cAEtB,MAAM5lD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/Bt6C,KAAKm6C,UASTyL,eACE,IAAI7H,QAAQ/9C,KAAKksC,MAQf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OAGjB,OAFAgF,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK6lD,yBAO5BX,oBAEE,GAAIllD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK8lD,kBAEtB,MAAM9lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAGnCwL,mBACE,KAAI9lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK+lD,kBAEtB,MAAM/lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAN/Bt6C,KAAKm6C,UAST4L,mBACE,IAAIhI,QAAQ/9C,KAAKksC,MAMf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,oBAJ/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACjB,OAAOgF,KAAKioB,KAAKjoB,KAAKgmD,4BAM5BA,6BAEE,GADAhmD,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IAClCmD,KAAKksC,OAASwP,YAIhB,OAAO17C,KAAKg6C,OAAOc,WAAW96C,KAAKse,MAAM0B,SAHzChgB,KAAKse,MAAMzhB,IAAM,GACjBmD,KAAKioB,KAAKjoB,KAAKimD,uBAKnBA,wBACE,IAAIlI,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKqgD,cAAe,CAC7B,GAA8B,IAA1BrgD,KAAKse,MAAMzhB,IAAI7B,OAAc,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAChE,OAAOt6C,KAAKk6C,UAAUY,WAAW96C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MAEtE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAL/Bt6C,KAAKm6C,UAST0L,0BACE,GAAI7lD,KAAKksC,OAASwP,YAChB17C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKkmD,2BACV,IAAIlmD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBD,wBACE,GAAInI,QAAQ/9C,KAAKksC,MACflsC,KAAKm6C,cACA,IAA8B,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBA,oBACE,IAAIpI,QAAQ/9C,KAAKksC,MAKf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GAFAt6C,KAAKm6C,UAED,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKioB,KAAKjoB,KAAKomD,kBAK5DA,mBACE,GAAIpmD,KAAKksC,OAAS6P,WAIhB,MAAM/7C,KAAKoE,MAAM,IAAIk2C,UAAU,qDAH/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKqmD,kBAKnBA,mBACE,IAAItI,QAAQ/9C,KAAKksC,MAIf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GADAt6C,KAAKm6C,UACD,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAOvGylD,eAEE,OAAItiD,KAAKksC,OAASgR,QAChBl9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKsmD,cACbtmD,KAAKksC,OAASyQ,QACvB38C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKumD,oBAFjB,EAKTD,cACE,GAAItmD,KAAKksC,OAAS8Q,OAEhB,OADAh9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKwmD,aAEtB,MAAMxmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCkM,cACE,GAAIxmD,KAAKksC,OAASiR,OAEhB,OADAn9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKymD,aAEtB,MAAMzmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCmM,cACE,GAAIzmD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCiM,eACE,GAAIvmD,KAAKksC,OAASsQ,OAEhB,OADAx8C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK0mD,cAEtB,MAAM1mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCoM,eACE,GAAI1mD,KAAKksC,OAAS2Q,OAEhB,OADA78C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK2mD,cAEtB,MAAM3mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCqM,eACE,GAAI3mD,KAAKksC,OAAS+Q,OAEhB,OADAj9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4mD,cAEtB,MAAM5mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCsM,eACE,GAAI5mD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAKnCiI,kBACE,GAAIviD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASmP,SAChBr7C,KAAKc,KAAKd,KAAKwgD,cACbxgD,KAAKksC,OAASwR,UAChB19C,KAAKg6C,OAAOh6C,KAAKse,MAAM06B,WAAakG,cAEpCl/C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAK6mD,uBAG9CA,sBAAuBvpD,GACrB,GAAI0C,KAAKse,MAAM06B,UAAW,CACxB,MAAM8N,EAAW9mD,KAAKse,MAAM06B,UAAUgG,cAChC+H,EAAY3G,SAAS9iD,GAC3B,GAAIwpD,IAAaC,EACf,MAAM/mD,KAAKoE,MAAM,IAAIk2C,UAAU,oDAAoDwM,SAAgBC,WAGrG/mD,KAAKse,MAAM06B,UAAYkG,WAAWkB,SAAS9iD,IAQ7C,OANI6iD,QAAQ7iD,IAAU4P,UAAU5P,GAE9B0C,KAAKse,MAAM06B,UAAU39C,KAAKiC,EAAMmB,WAEhCuB,KAAKse,MAAM06B,UAAU39C,KAAKiC,GAErB0C,KAAK65C,KAAK75C,KAAKgnD,qBAExBA,sBACE,GAAIhnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKuiD,iBACjB,GAAIviD,KAAKksC,OAASwR,UACvB,OAAO19C,KAAK65C,KAAK75C,KAAKuiD,iBAEtB,MAAMviD,KAAKoE,MAAM,IAAIk2C,UAAU,2EAKnCmI,mBACE,GAAIziD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASqR,UAChBv9C,KAAKg6C,OAAOh6C,KAAKse,MAAMy6B,aAAe2F,gBAExC1+C,KAAKse,MAAMy6B,cAAa/4C,KAAKse,MAAMy6B,YAAc2F,eAC/C1+C,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAKinD,yBAG/CA,uBAAwBpG,GACtB,IAAIh7C,EAAS7F,KAAKse,MAAMy6B,YACpB+H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAOjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAKknD,sBAExBA,uBACE,GAAIlnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,GAAIt6C,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKyiD,kBACjB,GAAIziD,KAAKksC,OAASqR,UACvB,OAAOv9C,KAAK65C,KAAK75C,KAAKyiD,kBAEtB,MAAMziD,KAAKoE,MAAM,IAAIk2C,UAAU,+E,4BC51CvCxoC,EAAOjY,QAKP,SAAqBuI,EAAK+kD,GACnBA,IAAMA,EAAO,IAClB,MACMC,EAAYD,EAAKC,WAAa,MAC9BvO,EAAS,IAAIwO,EACnB,OAAO,IAAIt1C,SAAQ,CAACtC,EAASuE,KAC3BuD,aAAa+vC,EAJD,EAIwBF,EAAW33C,EAASuE,MAE1D,SAASszC,EAAgBn9B,EAAOi9B,EAAW33C,EAASuE,GAClD,GAAImW,GAAS/nB,EAAIpH,OACf,IACE,OAAOyU,EAAQopC,EAAOe,UACtB,MAAO9rB,GACP,OAAO9Z,EAAOuzC,EAAYz5B,EAAK1rB,IAGnC,IACEy2C,EAAOlnC,MAAMvP,EAAIxE,MAAMusB,EAAOA,EAAQi9B,IACtC7vC,aAAa+vC,EAAgBn9B,EAAQi9B,EAAWA,EAAW33C,EAASuE,GACpE,MAAO8Z,GACP9Z,EAAOuzC,EAAYz5B,EAAK1rB,OAvB9B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,sBCH5Bz1C,EAAOjY,QAEP,SAAsBi0B,EAAKjxB,GAEzB,GAAe,MAAXixB,EAAI5oB,KAA2B,MAAZ4oB,EAAIoM,KAAc,OAAOpM,EAChD,IAAI9gB,EAAM8gB,EAAIvhB,QAId,GAHAS,GAAO,WAAW8gB,EAAIoM,KAAO,UAAUpM,EAAIorB,IAAM,UAAUprB,EAAI5oB,SAG3DrI,GAAOA,EAAI0Q,MAAO,CACpB,MAAMi6C,EAAQ3qD,EAAI0Q,MAAM,MAClBk6C,EAAetmD,OAAO2B,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,IAAIl/B,OAClE,IAAI0sD,EAAc,IAClB,KAAOA,EAAY1sD,OAASysD,GAAcC,GAAe,IACzD,IAAK,IAAIrO,EAAKv2C,KAAK4C,IAAI,EAAGooB,EAAIoM,KAAO,GAAImf,EAAKv2C,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,KAAMmf,EAAI,CACxF,IAAIsO,EAAUxmD,OAAOk4C,EAAK,GAE1B,GADIsO,EAAQ3sD,OAASysD,IAAcE,EAAU,IAAMA,GAC/C75B,EAAIoM,OAASmf,EAAI,CACnBrsC,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,KACpCrsC,GAAO06C,EAAc,KACrB,IAAK,IAAIE,EAAK,EAAGA,EAAK95B,EAAIorB,MAAO0O,EAC/B56C,GAAO,IAETA,GAAO,WAEPA,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,MAK1C,OADAvrB,EAAIvhB,QAAUS,EAAM,KACb8gB,I,4BC9BThc,EAAOjY,QAKP,SAAsBguD,GACpB,OAAIA,EAON,SAAwBA,GACtB,MAAMhP,EAAS,IAAIwO,EAEnB,OADAQ,EAAIC,YAAY,QACT,IAAI/1C,SAAQ,CAACtC,EAASuE,KAC3B,IAAImX,EACA48B,GAAQ,EACRC,GAAU,EACd,SAASpO,IAEP,GADAmO,GAAQ,GACJ58B,EACJ,IACE1b,EAAQopC,EAAOe,UACf,MAAO9rB,GACP9Z,EAAO8Z,IAGX,SAAS1pB,EAAO0pB,GACdk6B,GAAU,EACVh0C,EAAO8Z,GAET+5B,EAAII,KAAK,MAAOrO,GAChBiO,EAAII,KAAK,QAAS7jD,GAGlB,SAAS8jD,IAEP,IAAIhpD,EACJ,IAFAisB,GAAW,EAEoB,QAAvBjsB,EAAO2oD,EAAIzmD,SACjB,IACEy3C,EAAOlnC,MAAMzS,GACb,MAAO4uB,GACP,OAAO1pB,EAAM0pB,GAKjB,GAFA3C,GAAW,EAEP48B,EAAO,OAAOnO,IAEdoO,GACJH,EAAII,KAAK,WAAYC,GAjBvBA,MA5BOC,CAAcN,GAkDzB,WACE,MAAMhP,EAAS,IAAIwO,EACnB,OAAO,IAAIvwC,EAAOsxC,UAAU,CAC1BC,YAAY,EACZC,UAAW5+B,EAAOlsB,EAAU+qD,GAC1B,IACE1P,EAAOlnC,MAAM+X,EAAMlqB,SAAShC,IAC5B,MAAOswB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,KAEFE,MAAOF,GACL,IACEvoD,KAAK3E,KAAKw9C,EAAOe,UACjB,MAAO9rB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,OAlEKG,IAPX,MAAM5xC,EAAS,EAAQ,MACjBuwC,EAAa,EAAQ,O,4BCH3Bv1C,EAAOjY,QAKP,SAAsBuI,GAChB,EAAAo1C,EAAOl7C,QAAU,EAAAk7C,EAAOl7C,OAAOsC,SAASwD,KAC1CA,EAAMA,EAAI5C,SAAS,SAErB,MAAMq5C,EAAS,IAAIwO,EACnB,IAEE,OADAxO,EAAOlnC,MAAMvP,GACNy2C,EAAOe,SACd,MAAO9rB,GACP,MAAMy5B,EAAYz5B,EAAK1rB,KAZ3B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,4BCH5Bz1C,EAAOjY,QAAU,EAAjB,MACAiY,EAAOjY,QAAQ0yB,MAAQ,EAAvB,MACAza,EAAOjY,QAAQid,OAAS,EAAxB,MACAhF,EAAOjY,QAAQ0tD,YAAc,EAA7B,O,sBCYA,SAASoB,EAAW3pD,GAClB,OAAO,IAAIpD,MAAM,mCAAqCoD,GAOxD,SAAS4pD,EAAejqD,GACtB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,GAAO8mC,EAASnqD,EAAIqjB,MAMrD,SAAS5b,EAAQzH,GACf,IAAIoqD,EAAOrtD,MAAMuD,QAAQN,GAAO,GAAK7B,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAK,aAAe,CAAC,CAAC,kBAAcG,GAAa,GAC3H,IAAK,IAAIkqD,KAAQlsD,OAAOuoB,KAAK1mB,GACvBA,EAAIqqD,IAAqC,mBAArBrqD,EAAIqqD,GAAM5iD,UAA2B,gBAAiBzH,EAAIqqD,IAChFD,EAAKC,GAAQrqD,EAAIqqD,GAAM5iD,SAEvB2iD,EAAKC,GAAQrqD,EAAIqqD,GAGrB,OAAOD,EAGT,SAASE,EAAiBC,EAAQC,EAAQxqD,GAExC,IAAIyqD,EACAC,EACJD,EAAaR,EAHbjqD,EAAMyH,EAAOzH,IAIb0qD,EArBF,SAAyB1qD,GACvB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,IAAQ8mC,EAASnqD,EAAIqjB,MAoBtCsnC,CAAe3qD,GAC7B,IAAIqhB,EAAS,GACTupC,EAAeJ,GAAU,GAC7BC,EAAW9jC,SAAQtD,IACjB,IAAIhjB,EAAOohD,EAASzhD,EAAIqjB,IACX,cAAThjB,GAAiC,SAATA,GAC1BghB,EAAO3kB,KAAKkuD,EAAeC,EAAaxnC,GAAO,MAAQynC,EAAmB9qD,EAAIqjB,IAAM,OAGpFhC,EAAOhlB,OAAS,GAAGglB,EAAO3kB,KAAK,IACnC,IAAIquD,EAAgBR,GAAUE,EAAWpuD,OAAS,EAAImuD,EAAS,KAAO,GAItE,OAHAE,EAAY/jC,SAAQtD,IAClBhC,EAAO3kB,KAwMX,SAA2B6tD,EAAQC,EAAQnnC,EAAK1kB,GAC9C,IAAIypD,EAAY3G,EAAS9iD,GAEzB,GAAkB,UAAdypD,EACF,OAQJ,SAAiCmC,EAAQC,EAAQnnC,EAAK2G,GAEpDghC,EADAhhC,EAASviB,EAAOuiB,IAEhB,IAAIihC,EAAiBxJ,EAASz3B,EAAO,IAErC,GAAuB,UAAnBihC,EAA4B,MAAMjB,EAAUiB,GAChD,IAAIC,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAMb,OALA2I,EAAOrD,SAAQ1X,IACToS,EAAOhlB,OAAS,IAAGglB,GAAU,MACjCA,GAAUmpC,EAAS,KAAOU,EAAU,OACpC7pC,GAAUipC,EAAgBY,EAAU,IAAKV,EAAQv7C,MAE5CoS,EArBE8pC,CAAuBZ,EAAQC,EAAQnnC,EAAK1kB,GAC9C,GAAkB,UAAdypD,EACT,OAsBJ,SAAgCmC,EAAQC,EAAQnnC,EAAK1kB,GACnD,IAAIusD,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAIb,OAHI4oC,EAActrD,GAAOtC,OAAS,IAChCglB,GAAUmpC,EAAS,IAAMU,EAAU,OAE9B7pC,EAASipC,EAAgBY,EAAU,IAAKV,EAAQ7rD,GA5B9CysD,CAAsBb,EAAQC,EAAQnnC,EAAK1kB,GAElD,MAAMqrD,EAAU5B,GAhNJiD,CAAiBd,EAAQQ,EAAe1nC,EAAKrjB,EAAIqjB,QAExDhC,EAAOxkB,KAAK,MAGrB,SAASstD,EAAUxrD,GACjB,OAAQ8iD,EAAS9iD,IACf,IAAK,YACL,IAAK,OACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,OAAO,EACT,IAAK,QACH,OAAwB,IAAjBA,EAAMtC,QAAuC,UAAvBolD,EAAS9iD,EAAM,IAC9C,IAAK,QACH,OAAqC,IAA9BR,OAAOuoB,KAAK/nB,GAAOtC,OAE5B,QACE,OAAO,GAIb,SAASolD,EAAU9iD,GACjB,YAAcwB,IAAVxB,EACK,YACY,OAAVA,EACF,OAEmB,iBAAVA,GAAuBqE,OAAOuL,UAAU5P,KAAWR,OAAOyX,GAAGjX,GAAQ,GAC9E,UACmB,iBAAVA,EACT,QACmB,kBAAVA,EACT,UACmB,iBAAVA,EACT,SACE,gBAAiBA,EACnBqR,MAAMrR,GAAS,YAAc,WAC3B5B,MAAMuD,QAAQ3B,GAChB,QAEA,QAIX,SAASksD,EAAcxnC,GACrB,IAAIioC,EAAS9oD,OAAO6gB,GACpB,MAAI,mBAAmBg1B,KAAKiT,GACnBA,EAEAC,EAAqBD,GAIhC,SAASC,EAAsB9nD,GAC7B,MAAO,IAAM+nD,EAAa/nD,GAAKuD,QAAQ,KAAM,OAAS,IAYxD,SAASwkD,EAAc/nD,GACrB,OAAOA,EAAIuD,QAAQ,MAAO,QACvBA,QAAQ,QAAS,OACjBA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OAEfA,QAAQ,2BAA2BjD,GAAK,MAb7C,SAAiB1G,EAAKoG,GACpB,KAAOA,EAAIpH,OAY+C,GAZjCoH,EAAM,IAAMA,EACrC,OAAOA,EAW4CgoD,CAAO,EAAG1nD,EAAEg3C,YAAY,GAAGl6C,SAAS,OAYzF,SAASiqD,EAAoBnsD,EAAO+sD,GAClC,IAAIrrD,EAAOohD,EAAS9iD,GAQpB,MAPa,WAAT0B,IACEqrD,GAAe,KAAKrT,KAAK15C,GAC3B0B,EAAO,oBACG,gBAAgBg4C,KAAK15C,IAAU,IAAI05C,KAAK15C,KAClD0B,EAAO,mBAGJsrD,EAAgBhtD,EAAO0B,GAGhC,SAASsrD,EAAiBhtD,EAAO0B,GAG/B,OADKA,IAAMA,EAAOohD,EAAS9iD,IACnB0B,GACN,IAAK,mBACH,OAzBN,SAAmCoD,GACjC,IAAImoD,EAAUnoD,EAAImL,MAAM,MAAMuW,KAAI1hB,GACzB+nD,EAAa/nD,GAAKuD,QAAQ,WAAY,SAC5CnK,KAAK,MAER,MAD0B,MAAtB+uD,EAAQ3sD,OAAO,KAAY2sD,GAAW,QACnC,QAAUA,EAAU,MAoBhBC,CAAyBltD,GAClC,IAAK,SACH,OAAO4sD,EAAqB5sD,GAC9B,IAAK,iBACH,MAjDG,IAiD2BA,EAjDf,IAkDjB,IAAK,UACH,OAAOmtD,EAAiBntD,GAC1B,IAAK,QACH,OAoBN,SAAyBA,GACvB,GAAIA,IAAU+P,IACZ,MAAO,MACF,GAAI/P,KAAU,IACnB,MAAO,OACF,GAAIR,OAAOyX,GAAGjX,EAAOmR,KAC1B,MAAO,MACF,GAAI3R,OAAOyX,GAAGjX,GAAQ,GAC3B,MAAO,OAET,IAAIotD,EAASvpD,OAAO7D,GAAOiQ,MAAM,KAC7Bo9C,EAAMD,EAAO,GACbE,EAAMF,EAAO,IAAM,EACvB,OAAOD,EAAiBE,GAAO,IAAMC,EAjC1BC,CAAevtD,GACxB,IAAK,UACH,OAkCN,SAA2BA,GACzB,OAAO6D,OAAO7D,GAnCHwtD,CAAiBxtD,GAC1B,IAAK,WACH,OAoCN,SAA4BA,GAC1B,OAAOA,EAAMo6C,cArCFqT,CAAkBztD,GAC3B,IAAK,QACH,OAwDN,SAA+BqrB,GAE7B,MAAM3pB,EAAO2qD,EADbhhC,EAASviB,EAAOuiB,IAEhB,IAAI3I,EAAS,IACTgrC,EAAcriC,EAAO7E,KAAIrH,GAAK6tC,EAAgB7tC,EAAGzd,KAMrD,OALIgsD,EAAYxvD,KAAK,MAAMR,OAAS,IAAM,KAAKg8C,KAAKgU,GAClDhrC,GAAU,OAASgrC,EAAYxvD,KAAK,SAAW,KAE/CwkB,GAAU,IAAMgrC,EAAYxvD,KAAK,OAASwvD,EAAYhwD,OAAS,EAAI,IAAM,IAEpEglB,EAAS,IAlELirC,CAAqB3tD,EAAMurD,QAAOpsC,GAAqB,SAAhB2jC,EAAS3jC,IAAiC,cAAhB2jC,EAAS3jC,IAAsC,QAAhB2jC,EAAS3jC,MAClH,IAAK,QACH,OAmEN,SAA+Bnf,GAC7BA,EAAQ8I,EAAO9I,GACf,IAAI0iB,EAAS,GAIb,OAHAljB,OAAOuoB,KAAK/nB,GAAOgoB,SAAQtD,IACzBhC,EAAO3kB,KAAKmuD,EAAaxnC,GAAO,MAAQynC,EAAmBnsD,EAAM0kB,IAAM,OAElE,KAAOhC,EAAOxkB,KAAK,OAASwkB,EAAOhlB,OAAS,EAAI,IAAM,IAAM,IAzExDkwD,CAAqB5tD,GAE9B,QACE,MAAMqrD,EAAU3pD,IAItB,SAASyrD,EAAkBntD,GAEzB,OAAO6D,OAAO7D,GAAOqI,QAAQ,wBAAyB,KAqCxD,SAASgkD,EAAehhC,GACtB,MAAM3pB,EARR,SAAoB2pB,GAClB,IAAIwiC,EAAc/K,EAASz3B,EAAO,IAClC,OAAIA,EAAO5B,OAAMtK,GAAK2jC,EAAS3jC,KAAO0uC,IAAqBA,EAEvDxiC,EAAO5B,OAAMtK,IAAK2uC,MANN,WADCpsD,EAOcohD,EAAS3jC,KANJ,YAATzd,EAD7B,IAAmBA,KAOoC,QAC9C,QAGMqsD,CAAU1iC,GACvB,GAAa,UAAT3pB,EACF,MApNK,IAAIpD,MAAM,uCAsNjB,OAAOoD,EA1OT8S,EAAOjY,QAGP,SAAoB8E,GAClB,GAAY,OAARA,EAAc,MAAMgqD,EAAU,QAClC,QAAY,IAARhqD,EAAkB,MAAMgqD,EAAU,aACtC,GAAmB,iBAARhqD,EAAkB,MAAMgqD,SAAiBhqD,GAGpD,GAD0B,mBAAfA,EAAIyH,SAAuBzH,EAAMA,EAAIyH,UACrC,MAAPzH,EAAa,OAAO,KACxB,MAAMK,EAAOohD,EAASzhD,GACtB,GAAa,UAATK,EAAkB,MAAM2pD,EAAU3pD,GACtC,OAAOiqD,EAAgB,GAAI,GAAItqD,IAXjCmT,EAAOjY,QAAQyD,MAAQgtD,G,4BCDvBzwD,EAAQ8X,MAAQ,EAAhB,MACA,S,sBCDA,MAAMpS,EAAQ,GACR+rD,EAAgB,GAEhBC,EAAQ,CAAChmB,EAAMC,KACpB,GAAID,IAASC,EACZ,OAAO,EAGR,MAAMjlC,EAAOglC,EAITA,EAAKvqC,OAASwqC,EAAMxqC,SACvBuqC,EAAOC,EACPA,EAAQjlC,GAGT,IAAIirD,EAAajmB,EAAKvqC,OAClBywD,EAAcjmB,EAAMxqC,OAMxB,KAAOwwD,EAAa,GAAMjmB,EAAK1qC,aAAa2wD,KAAgBhmB,EAAM3qC,aAAa4wD,IAC9ED,IACAC,IAMD,IAaIC,EACA1rC,EACA2rC,EACAC,EAhBA9vD,EAAQ,EAEZ,KAAOA,EAAQ0vD,GAAejmB,EAAK1qC,WAAWiB,KAAW0pC,EAAM3qC,WAAWiB,IACzEA,IAMD,GAHA0vD,GAAc1vD,EACd2vD,GAAe3vD,EAEI,IAAf0vD,EACH,OAAOC,EAOR,IAAInxD,EAAI,EACJkH,EAAI,EAER,KAAOlH,EAAIkxD,GACVF,EAAchxD,GAAKirC,EAAK1qC,WAAWiB,EAAQxB,GAC3CiF,EAAMjF,KAAOA,EAGd,KAAOkH,EAAIiqD,GAKV,IAJAC,EAAYlmB,EAAM3qC,WAAWiB,EAAQ0F,GACrCmqD,EAAOnqD,IACPwe,EAASxe,EAEJlH,EAAI,EAAGA,EAAIkxD,EAAYlxD,IAC3BsxD,EAAQF,IAAcJ,EAAchxD,GAAKqxD,EAAOA,EAAO,EACvDA,EAAOpsD,EAAMjF,GAEb0lB,EAASzgB,EAAMjF,GAAKqxD,EAAO3rC,EAAS4rC,EAAQ5rC,EAASA,EAAS,EAAI4rC,EAAQA,EAAQD,EAAOA,EAAO,EAAIC,EAItG,OAAO5rC,GAGRlO,EAAOjY,QAAU0xD,EAEjBz5C,EAAOjY,QAAQgZ,QAAU04C,G,4BCtEzBz5C,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,KAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,2BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,MAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,MAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,MACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,OAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,MACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,4BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,0BChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,4BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,MA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,MAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,4BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,2BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,KAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,MACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,kCC92Df,IAAIzI,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,MAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,MA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,4BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,MAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,MAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,MAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,MAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,MA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,KACzBC,EAAmB,EAAQ,MAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,2BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,MAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,0BCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,MA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,qlgDC5BjDw4C,yBAA2B,GCA3BC,eADAC,SDIJ,SAASC,oBAAoBC,GAE5B,IAAIC,EAAeL,yBAAyBI,GAC5C,QAAqBntD,IAAjBotD,EACH,OAAOA,EAAaryD,QAGrB,IAAIiY,EAAS+5C,yBAAyBI,GAAY,CAGjDpyD,QAAS,IAOV,OAHAsyD,oBAAoBF,GAAUnrD,KAAKgR,EAAOjY,QAASiY,EAAQA,EAAOjY,QAASmyD,qBAGpEl6C,EAAOjY,QAIfmyD,oBAAoBvrD,EAAI0rD,oBExBxBH,oBAAoBxrD,EAAKsR,IACxB,IAAIs6C,EAASt6C,GAAUA,EAAOu6C,WAC7B,IAAOv6C,EAAiB,QACxB,IAAM,EAEP,OADAk6C,oBAAoBz9C,EAAE69C,EAAQ,CAAEvnD,EAAGunD,IAC5BA,GDNJL,SAAWjvD,OAAOwvD,eAAkB3tD,GAAS7B,OAAOwvD,eAAe3tD,GAASA,GAASA,EAAa,UAQtGqtD,oBAAoBO,EAAI,SAASjvD,EAAOkvD,GAEvC,GADU,EAAPA,IAAUlvD,EAAQ0C,KAAK1C,IAChB,EAAPkvD,EAAU,OAAOlvD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPkvD,GAAalvD,EAAM+uD,WAAY,OAAO/uD,EAC1C,GAAW,GAAPkvD,GAAoC,mBAAflvD,EAAMqY,KAAqB,OAAOrY,EAE5D,IAAImvD,EAAK3vD,OAAOqV,OAAO,MACvB65C,oBAAoBtnC,EAAE+nC,GACtB,IAAIC,EAAM,GACVZ,eAAiBA,gBAAkB,CAAC,KAAMC,SAAS,IAAKA,SAAS,IAAKA,SAASA,WAC/E,IAAI,IAAIvjC,EAAiB,EAAPgkC,GAAYlvD,EAAyB,iBAAXkrB,KAAyBsjC,eAAejwD,QAAQ2sB,GAAUA,EAAUujC,SAASvjC,GACxH1rB,OAAO6vD,oBAAoBnkC,GAASlD,SAAStD,GAAS0qC,EAAI1qC,GAAO,IAAO1kB,EAAM0kB,KAI/E,OAFA0qC,EAAa,QAAI,IAAM,EACvBV,oBAAoBz9C,EAAEk+C,EAAIC,GACnBD,GEvBRT,oBAAoBz9C,EAAI,CAAC1U,EAAS+yD,KACjC,IAAI,IAAI5qC,KAAO4qC,EACXZ,oBAAoB55C,EAAEw6C,EAAY5qC,KAASgqC,oBAAoB55C,EAAEvY,EAASmoB,IAC5EllB,OAAOuH,eAAexK,EAASmoB,EAAK,CAAE1d,YAAY,EAAMC,IAAKqoD,EAAW5qC,MCJ3EgqC,oBAAoB1U,EAAI,GAGxB0U,oBAAoB/nD,EAAK4oD,GACjB96C,QAAQ8tB,IAAI/iC,OAAOuoB,KAAK2mC,oBAAoB1U,GAAGwV,QAAO,CAACC,EAAU/qC,KACvEgqC,oBAAoB1U,EAAEt1B,GAAK6qC,EAASE,GAC7BA,IACL,KCNJf,oBAAoBgB,EAAKH,GAEjB,kBAAoB,CAAC,GAAK,KAAK,IAAM,KAAK,IAAM,KAAK,IAAM,QAAQ,IAAM,KAAK,IAAM,QAAQ,IAAM,KAAK,IAAM,MAAM,IAAM,QAAQ,IAAM,KAAK,IAAM,MAAMA,GAAW,IAAMA,EAAU,IAAM,CAAC,GAAK,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,wBAAwBA,GAAW,aCH5gBb,oBAAoBxU,EAAI,WACvB,GAA0B,iBAAfyV,WAAyB,OAAOA,WAC3C,IACC,OAAOjtD,MAAQ,IAAIwhC,SAAS,cAAb,GACd,MAAOv9B,GACR,GAAsB,iBAAXknC,OAAqB,OAAOA,QALjB,GCAxB6gB,oBAAoB55C,EAAI,CAACzT,EAAKqqD,IAAUlsD,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAKqqD,GCClFgD,oBAAoBtnC,EAAK7qB,IACH,oBAAXwC,QAA0BA,OAAOkrB,aAC1CzqB,OAAOuH,eAAexK,EAASwC,OAAOkrB,YAAa,CAAEjqB,MAAO,WAE7DR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,K,MCLvD,IAAI4vD,EACAlB,oBAAoBxU,EAAE2V,gBAAeD,EAAYlB,oBAAoBxU,EAAE7b,SAAW,IACtF,IAAIuK,EAAW8lB,oBAAoBxU,EAAEtR,SACrC,IAAKgnB,GAAahnB,IACbA,EAASknB,gBACZF,EAAYhnB,EAASknB,cAAc3/C,MAC/By/C,GAAW,CACf,IAAIG,EAAUnnB,EAASonB,qBAAqB,UACzCD,EAAQryD,SAAQkyD,EAAYG,EAAQA,EAAQryD,OAAS,GAAGyS,KAK7D,IAAKy/C,EAAW,MAAM,IAAItxD,MAAM,yDAChCsxD,EAAYA,EAAUvnD,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpFqmD,oBAAoBx5C,EAAI06C,G,SCXxB,IAAIK,EAAkB,CACrB,IAAK,GAgBNvB,oBAAoB1U,EAAEh9C,EAAI,CAACuyD,EAASE,KAE/BQ,EAAgBV,IAElBM,cAAcnB,oBAAoBx5C,EAAIw5C,oBAAoBgB,EAAEH,KAK/D,IAAIW,EAAqBC,KAAkC,4BAAIA,KAAkC,6BAAK,GAClGC,EAA6BF,EAAmBnyD,KAAK8f,KAAKqyC,GAC9DA,EAAmBnyD,KAvBC6D,IACnB,IAAKyuD,EAAUC,EAAaC,GAAW3uD,EACvC,IAAI,IAAI+sD,KAAY2B,EAChB5B,oBAAoB55C,EAAEw7C,EAAa3B,KACrCD,oBAAoBvrD,EAAEwrD,GAAY2B,EAAY3B,IAIhD,IADG4B,GAASA,EAAQ7B,qBACd2B,EAAS3yD,QACduyD,EAAgBI,EAAS1T,OAAS,EACnCyT,EAA2BxuD,K,iFCiBrB,SAAS4uD,EAAYhpD,GACxB,OAAOA,EAQJ,SAASipD,EAAgBlpD,EAAMnG,GAClC,OAAOmG,IAAMnG,EAOV,SAASsvD,EAAwBnpD,EAAgCnG,GACpE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAmG,EAAInG,GACL,EACC,EAqBH,SAASuvD,EAAS72B,GACrB,MAAuB,iBAATA,EAGX,SAASg0B,EAAStmD,GACrB,MAAoB,iBAANA,EAyCX,SAASopD,IACZ,MAAMC,EAAO,GAAiB3yD,OAC9B,OAAO2yD,EAAKjoD,SAAS,YAAcioD,EAAKjoD,SAAS,SAkB9C,SAASkoD,EAAa9tC,GACzB,YAAmBxhB,IAAZwhB,ECvEX,SAAS+tC,EAAS9uD,EAAuBmC,GACrC,OAAOA,EAAS,EAAInC,EAAMvE,OAAS0G,EAASA,EAoBzC,SAAS4sD,EACZp+C,EACA7S,EACAvB,EACAC,GAEA,QAAa+C,IAATzB,GAAsC,IAAhBA,EAAKrC,OAC3B,OAAOkV,EAEX,QAAWpR,IAAPoR,EACA,OAAO7S,EAAKO,MAAM9B,EAAOC,GAE7BD,OAAkBgD,IAAVhD,EAAsB,EAAIuyD,EAAShxD,EAAMvB,GACjDC,OAAc+C,IAAR/C,EAAoBsB,EAAKrC,OAASqzD,EAAShxD,EAAMtB,GACvD,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,GAAOzB,EAAI+C,EAAKrC,OAAQV,SAC5BwE,IAAZzB,EAAK/C,IACL4V,EAAG7U,KAAKgC,EAAK/C,IAGrB,OAAO4V,EAGJ,SAASq+C,EAAYhvD,EAAY4qB,EAAe7sB,GACnD,GAAc,IAAV6sB,EACA5qB,EAAMivD,QAAQlxD,QACX,GAAI6sB,IAAU5qB,EAAMvE,OACvBuE,EAAMlE,KAAKiC,OACR,CACH,IAAK,IAAIhD,EAAIiF,EAAMvE,OAAQV,EAAI6vB,EAAO7vB,IAClCiF,EAAMjF,GAAKiF,EAAMjF,EAAI,GAEzBiF,EAAM4qB,GAAS7sB,EAEnB,OAAOiC,EAqDJ,SAASkvD,EAAQlvD,EAAiCmvD,GACrD,QAAInvD,IACImvD,EACOnvD,EAAMkvD,KAAKC,GAEXnvD,EAAMvE,OAAS,GA8B3B,SAAS2zD,EACZpvD,EACAjC,EACAsxD,EACAC,EACAntD,GAEA,OAaG,SACHnC,EACAyiB,EACA4sC,EACAC,EACAntD,GAEA,IAAK+sD,EAAKlvD,GACN,OAAQ,EAGZ,IAAI6nC,EAAM1lC,GAAU,EAChB2lC,EAAO9nC,EAAMvE,OAAS,EAC1B,KAAOosC,GAAOC,GAAM,CAChB,MAAMynB,EAAS1nB,GAAQC,EAAOD,GAAQ,GAEtC,OAAQynB,EADOD,EAAYrvD,EAAMuvD,IACL9sC,IACxB,OACIolB,EAAM0nB,EAAS,EACf,MACJ,KAAK,EACD,OAAOA,EACX,KAAK,EACDznB,EAAOynB,EAAS,GAK5B,OAAQ1nB,EAzCD2nB,CAAgBxvD,EAAOqvD,EAAYtxD,GAAQsxD,EAAaC,EAAantD,GA4EzE,SAASstD,EAAelrC,EAAgB9B,EAAQitC,GACnD,MAAM3xD,EAAQwmB,EAAIvf,IAAIyd,GACtB,QAAcljB,IAAVxB,EACA,OAAOA,EAGX,MAAM4xD,EAAWD,IAGjB,OAFAnrC,EAAI3e,IAAI6c,EAAKktC,GAENA,EASJ,SAASC,EAAuB5vD,EAAYmvD,GAC/C,IAAK,IAAIp0D,EAAI,EAAGA,EAAIiF,EAAMvE,OAAQV,IAC1Bo0D,EAAUnvD,EAAMjF,MAChBiF,EAAM2mB,OAAO5rB,EAAG,GAGhBA,KAIR,OAAOiF,EAGJ,SAAS,EAAsBwjC,EAAYqsB,GAC9C,OAAOrsB,EACFjf,KAAKyoC,GAAM6C,EAAU7C,KACrBO,QAAO,CAAChpC,EAAK9B,EAAK1nB,KACfwpB,EAAI3e,IAAI6c,GAAM8B,EAAIvf,IAAIyd,IAAQ,IAAIhd,OAAO+9B,EAAMzoC,KACxCwpB,IACR,IAAIhG,KDtPQhhB,OAAOE,UAAUyV,eEvFjC,MAAM48C,EAAmB,oBACnBC,EAAM,MACNC,EAAe,MACfC,EAAQ,QACRC,EAAe,gBAGfC,EAAc,S,ICfvBC,E,4BAAIA,EAAI,MAAmB,IAAIpD,EAAE,CAAC,IAAIA,IAAI,SAAStoD,EAAEsoD,GAAG,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,mCAAmC6R,KAAKC,UAAUs9C,IAAI,SAAS7nC,EAAE6nC,EAAEtoD,GAAG,IAAI,IAAIygB,EAAElkB,EAAE,GAAG4R,EAAE,EAAE9X,GAAG,EAAEuK,EAAE,EAAE+qD,EAAE,EAAEA,GAAGrD,EAAEvxD,SAAS40D,EAAE,CAAC,GAAGA,EAAErD,EAAEvxD,OAAO0pB,EAAE6nC,EAAE1xD,WAAW+0D,OAAO,CAAC,GAAG,KAAKlrC,EAAE,MAAMA,EAAE,GAAG,GAAG,KAAKA,EAAE,CAAC,GAAGpqB,IAAIs1D,EAAE,GAAG,IAAI/qD,QAAQ,GAAGvK,IAAIs1D,EAAE,GAAG,IAAI/qD,EAAE,CAAC,GAAGrE,EAAExF,OAAO,GAAG,IAAIoX,GAAG,KAAK5R,EAAE3F,WAAW2F,EAAExF,OAAO,IAAI,KAAKwF,EAAE3F,WAAW2F,EAAExF,OAAO,GAAG,GAAGwF,EAAExF,OAAO,EAAE,CAAC,IAAIwT,EAAEhO,EAAEO,YAAY,KAAK,GAAGyN,IAAIhO,EAAExF,OAAO,EAAE,EAAE,IAAIwT,GAAGhO,EAAE,GAAG4R,EAAE,GAAGA,GAAG5R,EAAEA,EAAE5C,MAAM,EAAE4Q,IAAIxT,OAAO,EAAEwF,EAAEO,YAAY,KAAKzG,EAAEs1D,EAAE/qD,EAAE,EAAE,eAAe,GAAG,IAAIrE,EAAExF,QAAQ,IAAIwF,EAAExF,OAAO,CAACwF,EAAE,GAAG4R,EAAE,EAAE9X,EAAEs1D,EAAE/qD,EAAE,EAAE,SAASZ,IAAIzD,EAAExF,OAAO,EAAEwF,GAAG,MAAMA,EAAE,KAAK4R,EAAE,QAAQ5R,EAAExF,OAAO,EAAEwF,GAAG,IAAI+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGpvD,EAAE+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGx9C,EAAEw9C,EAAEt1D,EAAE,EAAEA,EAAEs1D,EAAE/qD,EAAE,OAAO,KAAK6f,IAAI,IAAI7f,IAAIA,EAAEA,GAAG,EAAE,OAAOrE,EAAE,IAAIA,EAAE,CAACiP,QAAQ,WAAW,IAAI,IAAI88C,EAAE/rD,EAAE,GAAG4R,GAAE,EAAG9X,EAAEoF,UAAU1E,OAAO,EAAEV,IAAI,IAAI8X,EAAE9X,IAAI,CAAC,IAAIuK,EAAEvK,GAAG,EAAEuK,EAAEnF,UAAUpF,SAAI,IAASiyD,IAAIA,EAAE,KAAe1nD,EAAE0nD,GAAGtoD,EAAEY,GAAG,IAAIA,EAAE7J,SAASwF,EAAEqE,EAAE,IAAIrE,EAAE4R,EAAE,KAAKvN,EAAEhK,WAAW,IAAI,OAAO2F,EAAEkkB,EAAElkB,GAAG4R,GAAGA,EAAE5R,EAAExF,OAAO,EAAE,IAAIwF,EAAE,IAAIA,EAAExF,OAAO,EAAEwF,EAAE,KAAKqP,UAAU,SAAS08C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAIwF,EAAE,KAAK+rD,EAAE1xD,WAAW,GAAGuX,EAAE,KAAKm6C,EAAE1xD,WAAW0xD,EAAEvxD,OAAO,GAAG,OAAO,KAAKuxD,EAAE7nC,EAAE6nC,GAAG/rD,IAAIxF,QAAQwF,IAAI+rD,EAAE,KAAKA,EAAEvxD,OAAO,GAAGoX,IAAIm6C,GAAG,KAAK/rD,EAAE,IAAI+rD,EAAEA,GAAGz8C,WAAW,SAASy8C,GAAG,OAAOtoD,EAAEsoD,GAAGA,EAAEvxD,OAAO,GAAG,KAAKuxD,EAAE1xD,WAAW,IAAIW,KAAK,WAAW,GAAG,IAAIkE,UAAU1E,OAAO,MAAM,IAAI,IAAI,IAAIuxD,EAAE7nC,EAAE,EAAEA,EAAEhlB,UAAU1E,SAAS0pB,EAAE,CAAC,IAAItS,EAAE1S,UAAUglB,GAAGzgB,EAAEmO,GAAGA,EAAEpX,OAAO,SAAI,IAASuxD,EAAEA,EAAEn6C,EAAEm6C,GAAG,IAAIn6C,GAAG,YAAO,IAASm6C,EAAE,IAAI/rD,EAAEqP,UAAU08C,IAAIt8C,SAAS,SAASs8C,EAAE7nC,GAAG,GAAGzgB,EAAEsoD,GAAGtoD,EAAEygB,GAAG6nC,IAAI7nC,EAAE,MAAM,GAAG,IAAI6nC,EAAE/rD,EAAEiP,QAAQ88C,OAAO7nC,EAAElkB,EAAEiP,QAAQiV,IAAI,MAAM,GAAG,IAAI,IAAItS,EAAE,EAAEA,EAAEm6C,EAAEvxD,QAAQ,KAAKuxD,EAAE1xD,WAAWuX,KAAKA,GAAG,IAAI,IAAI9X,EAAEiyD,EAAEvxD,OAAO6J,EAAEvK,EAAE8X,EAAEw9C,EAAE,EAAEA,EAAElrC,EAAE1pB,QAAQ,KAAK0pB,EAAE7pB,WAAW+0D,KAAKA,GAAG,IAAI,IAAIphD,EAAEkW,EAAE1pB,OAAO40D,EAAEltD,EAAEmC,EAAE2J,EAAE3J,EAAE2J,EAAE8oC,GAAG,EAAE0V,EAAE,EAAEA,GAAGtqD,IAAIsqD,EAAE,CAAC,GAAGA,IAAItqD,EAAE,CAAC,GAAG8L,EAAE9L,EAAE,CAAC,GAAG,KAAKgiB,EAAE7pB,WAAW+0D,EAAE5C,GAAG,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,EAAE,GAAG,GAAG,IAAIA,EAAE,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,QAAQnoD,EAAEnC,IAAI,KAAK6pD,EAAE1xD,WAAWuX,EAAE46C,GAAG1V,EAAE0V,EAAE,IAAIA,IAAI1V,EAAE,IAAI,MAAM,IAAIuY,EAAEtD,EAAE1xD,WAAWuX,EAAE46C,GAAG,GAAG6C,IAAInrC,EAAE7pB,WAAW+0D,EAAE5C,GAAG,MAAM,KAAK6C,IAAIvY,EAAE0V,GAAG,IAAIx6C,EAAE,GAAG,IAAIw6C,EAAE56C,EAAEklC,EAAE,EAAE0V,GAAG1yD,IAAI0yD,EAAEA,IAAI1yD,GAAG,KAAKiyD,EAAE1xD,WAAWmyD,KAAK,IAAIx6C,EAAExX,OAAOwX,GAAG,KAAKA,GAAG,OAAO,OAAOA,EAAExX,OAAO,EAAEwX,EAAEkS,EAAE9mB,MAAMgyD,EAAEtY,IAAIsY,GAAGtY,EAAE,KAAK5yB,EAAE7pB,WAAW+0D,MAAMA,EAAElrC,EAAE9mB,MAAMgyD,KAAKl/C,UAAU,SAAS67C,GAAG,OAAOA,GAAG57C,QAAQ,SAAS47C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAI,IAAI0pB,EAAE6nC,EAAE1xD,WAAW,GAAG2F,EAAE,KAAKkkB,EAAEtS,GAAG,EAAE9X,GAAE,EAAGuK,EAAE0nD,EAAEvxD,OAAO,EAAE6J,GAAG,IAAIA,EAAE,GAAG,MAAM6f,EAAE6nC,EAAE1xD,WAAWgK,KAAK,IAAIvK,EAAE,CAAC8X,EAAEvN,EAAE,YAAYvK,GAAE,EAAG,OAAO,IAAI8X,EAAE5R,EAAE,IAAI,IAAIA,GAAG,IAAI4R,EAAE,KAAKm6C,EAAE3uD,MAAM,EAAEwU,IAAItB,SAAS,SAASy7C,EAAE7nC,GAAG,QAAG,IAASA,GAAG,iBAAiBA,EAAE,MAAM,IAAIvnB,UAAU,mCAAmC8G,EAAEsoD,GAAG,IAAI/rD,EAAE4R,EAAE,EAAE9X,GAAG,EAAEuK,GAAE,EAAG,QAAG,IAAS6f,GAAGA,EAAE1pB,OAAO,GAAG0pB,EAAE1pB,QAAQuxD,EAAEvxD,OAAO,CAAC,GAAG0pB,EAAE1pB,SAASuxD,EAAEvxD,QAAQ0pB,IAAI6nC,EAAE,MAAM,GAAG,IAAIqD,EAAElrC,EAAE1pB,OAAO,EAAEwT,GAAG,EAAE,IAAIhO,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,CAAC,IAAIkC,EAAE6pD,EAAE1xD,WAAW2F,GAAG,GAAG,KAAKkC,GAAG,IAAImC,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIgO,IAAI3J,GAAE,EAAG2J,EAAEhO,EAAE,GAAGovD,GAAG,IAAIltD,IAAIgiB,EAAE7pB,WAAW+0D,IAAI,KAAKA,IAAIt1D,EAAEkG,IAAIovD,GAAG,EAAEt1D,EAAEkU,IAAI,OAAO4D,IAAI9X,EAAEA,EAAEkU,GAAG,IAAIlU,IAAIA,EAAEiyD,EAAEvxD,QAAQuxD,EAAE3uD,MAAMwU,EAAE9X,GAAG,IAAIkG,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,GAAG,KAAK+rD,EAAE1xD,WAAW2F,IAAI,IAAIqE,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIlG,IAAIuK,GAAE,EAAGvK,EAAEkG,EAAE,GAAG,OAAO,IAAIlG,EAAE,GAAGiyD,EAAE3uD,MAAMwU,EAAE9X,IAAI2W,QAAQ,SAASs7C,GAAGtoD,EAAEsoD,GAAG,IAAI,IAAI7nC,GAAG,EAAElkB,EAAE,EAAE4R,GAAG,EAAE9X,GAAE,EAAGuK,EAAE,EAAE+qD,EAAErD,EAAEvxD,OAAO,EAAE40D,GAAG,IAAIA,EAAE,CAAC,IAAIphD,EAAE+9C,EAAE1xD,WAAW+0D,GAAG,GAAG,KAAKphD,GAAG,IAAI4D,IAAI9X,GAAE,EAAG8X,EAAEw9C,EAAE,GAAG,KAAKphD,GAAG,IAAIkW,EAAEA,EAAEkrC,EAAE,IAAI/qD,IAAIA,EAAE,IAAI,IAAI6f,IAAI7f,GAAG,QAAQ,IAAIvK,EAAE,CAACkG,EAAEovD,EAAE,EAAE,OAAO,OAAO,IAAIlrC,IAAI,IAAItS,GAAG,IAAIvN,GAAG,IAAIA,GAAG6f,IAAItS,EAAE,GAAGsS,IAAIlkB,EAAE,EAAE,GAAG+rD,EAAE3uD,MAAM8mB,EAAEtS,IAAIf,OAAO,SAASk7C,GAAG,GAAG,OAAOA,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,0EAA0EovD,GAAG,OAAO,SAASA,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAErD,KAAKqD,EAAEuN,KAAKhR,EAAEyD,EAAEwN,OAAOxN,EAAEoI,MAAM,KAAKpI,EAAE0C,KAAK,IAAI,OAAO+d,EAAEA,IAAIzgB,EAAEuN,KAAKkT,EAAElkB,EAAEkkB,EAAE,IAAIlkB,EAAEA,EAArG,CAAwG,EAAE+rD,IAAI56C,MAAM,SAAS46C,GAAGtoD,EAAEsoD,GAAG,IAAI7nC,EAAE,CAAClT,KAAK,GAAG5Q,IAAI,GAAG6Q,KAAK,GAAG9K,IAAI,GAAG0F,KAAK,IAAI,GAAG,IAAIkgD,EAAEvxD,OAAO,OAAO0pB,EAAE,IAAIlkB,EAAE4R,EAAEm6C,EAAE1xD,WAAW,GAAGP,EAAE,KAAK8X,EAAE9X,GAAGoqB,EAAElT,KAAK,IAAIhR,EAAE,GAAGA,EAAE,EAAE,IAAI,IAAIqE,GAAG,EAAE+qD,EAAE,EAAEphD,GAAG,EAAE9L,GAAE,EAAG40C,EAAEiV,EAAEvxD,OAAO,EAAEgyD,EAAE,EAAE1V,GAAG92C,IAAI82C,EAAE,GAAG,MAAMllC,EAAEm6C,EAAE1xD,WAAWy8C,KAAK,IAAI9oC,IAAI9L,GAAE,EAAG8L,EAAE8oC,EAAE,GAAG,KAAKllC,GAAG,IAAIvN,EAAEA,EAAEyyC,EAAE,IAAI0V,IAAIA,EAAE,IAAI,IAAInoD,IAAImoD,GAAG,QAAQ,IAAItqD,EAAE,CAACktD,EAAEtY,EAAE,EAAE,MAAM,OAAO,IAAIzyC,IAAI,IAAI2J,GAAG,IAAIw+C,GAAG,IAAIA,GAAGnoD,IAAI2J,EAAE,GAAG3J,IAAI+qD,EAAE,GAAG,IAAIphD,IAAIkW,EAAEjT,KAAKiT,EAAErY,KAAK,IAAIujD,GAAGt1D,EAAEiyD,EAAE3uD,MAAM,EAAE4Q,GAAG+9C,EAAE3uD,MAAMgyD,EAAEphD,KAAK,IAAIohD,GAAGt1D,GAAGoqB,EAAErY,KAAKkgD,EAAE3uD,MAAM,EAAEiH,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAM,EAAE4Q,KAAKkW,EAAErY,KAAKkgD,EAAE3uD,MAAMgyD,EAAE/qD,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAMgyD,EAAEphD,IAAIkW,EAAE/d,IAAI4lD,EAAE3uD,MAAMiH,EAAE2J,IAAIohD,EAAE,EAAElrC,EAAE9jB,IAAI2rD,EAAE3uD,MAAM,EAAEgyD,EAAE,GAAGt1D,IAAIoqB,EAAE9jB,IAAI,KAAK8jB,GAAGnT,IAAI,IAAIK,UAAU,IAAIC,MAAM,KAAKrC,MAAM,MAAMhP,EAAEgP,MAAMhP,EAAE+rD,EAAE1yD,QAAQ2G,GAAG,IAAI,CAAC+rD,EAAEtoD,EAAEygB,KAAK,IAAIlkB,EAAE,GAAGkkB,EAAEA,EAAEzgB,GAAGygB,EAAEnW,EAAEtK,EAAE,CAAC6rD,IAAI,IAAIvhD,EAAEwhD,MAAM,IAAIC,IAAI,gBAAiB,sEAAQxvD,EAAE,UAAU,sEAAQyvD,cAAc,GAAG,iBAAiBC,UAAU,CAAC,IAAI99C,EAAE89C,UAAUC,UAAU3vD,EAAE4R,EAAEvW,QAAQ,YAAY,EAAE,IAAIvB,EAAEuK,EAAE+qD,GAAGt1D,EAAE,SAASiyD,EAAEtoD,GAAG,OAAO3J,EAAEwC,OAAOC,gBAAgB,CAACqzD,UAAU,cAAc10D,OAAO,SAAS6wD,EAAEtoD,GAAGsoD,EAAE6D,UAAUnsD,IAAI,SAASsoD,EAAEtoD,GAAG,IAAI,IAAIygB,KAAKzgB,EAAEnH,OAAOE,UAAUyV,eAAe3R,KAAKmD,EAAEygB,KAAK6nC,EAAE7nC,GAAGzgB,EAAEygB,MAAM6nC,EAAEtoD,IAAI,SAASsoD,EAAEtoD,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI9G,UAAU,uBAAuBgE,OAAO8C,GAAG,iCAAiC,SAASygB,IAAI1kB,KAAKiM,YAAYsgD,EAAEjyD,EAAEiyD,EAAEtoD,GAAGsoD,EAAEvvD,UAAU,OAAOiH,EAAEnH,OAAOqV,OAAOlO,IAAIygB,EAAE1nB,UAAUiH,EAAEjH,UAAU,IAAI0nB,KAAKlW,EAAE,iBAAiB9L,EAAE,MAAM40C,EAAE,QAAQ,SAAS0V,EAAET,EAAEtoD,GAAG,IAAIsoD,EAAEx2B,QAAQ9xB,EAAE,MAAM,IAAIrI,MAAM,2DAA2DoJ,OAAOunD,EAAE8D,UAAU,cAAcrrD,OAAOunD,EAAEx9C,KAAK,eAAe/J,OAAOunD,EAAE+D,MAAM,kBAAkBtrD,OAAOunD,EAAEgE,SAAS,OAAO,GAAGhE,EAAEx2B,SAASvnB,EAAEwoC,KAAKuV,EAAEx2B,QAAQ,MAAM,IAAIn6B,MAAM,mDAAmD,GAAG2wD,EAAEx9C,KAAK,GAAGw9C,EAAE8D,WAAW,IAAI3tD,EAAEs0C,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,iJAAiJ,GAAG07C,EAAEN,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,6HAA6H,IAAIi0D,EAAE,GAAGr9C,EAAE,IAAIglC,EAAE,+DAA+DjpC,EAAE,WAAW,SAASg+C,EAAEA,EAAEtoD,EAAEygB,EAAElkB,EAAE4R,EAAE9X,QAAG,IAASA,IAAIA,GAAE,GAAI,iBAAiBiyD,GAAGvsD,KAAK+1B,OAAOw2B,EAAEx2B,QAAQ85B,EAAE7vD,KAAKqwD,UAAU9D,EAAE8D,WAAWR,EAAE7vD,KAAK+O,KAAKw9C,EAAEx9C,MAAM8gD,EAAE7vD,KAAKswD,MAAM/D,EAAE+D,OAAOT,EAAE7vD,KAAKuwD,SAAShE,EAAEgE,UAAUV,IAAI7vD,KAAK+1B,OAAO,SAASw2B,EAAEtoD,GAAG,OAAOsoD,GAAGtoD,EAAEsoD,EAAE,OAA5B,CAAoCA,EAAEjyD,GAAG0F,KAAKqwD,UAAUpsD,GAAG4rD,EAAE7vD,KAAK+O,KAAK,SAASw9C,EAAEtoD,GAAG,OAAOsoD,GAAG,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAOtoD,EAAEA,EAAE,KAAKuO,IAAIvO,EAAEuO,EAAEvO,GAAGA,EAAEuO,EAAE,OAAOvO,EAAzF,CAA4FjE,KAAK+1B,OAAOrR,GAAGmrC,GAAG7vD,KAAKswD,MAAM9vD,GAAGqvD,EAAE7vD,KAAKuwD,SAASn+C,GAAGy9C,EAAE7C,EAAEhtD,KAAK1F,IAAI,OAAOiyD,EAAEiE,MAAM,SAASvsD,GAAG,OAAOA,aAAasoD,KAAKtoD,GAAG,iBAAiBA,EAAEosD,WAAW,iBAAiBpsD,EAAEssD,UAAU,iBAAiBtsD,EAAE8K,MAAM,iBAAiB9K,EAAEqsD,OAAO,iBAAiBrsD,EAAE8xB,QAAQ,iBAAiB9xB,EAAEwsD,QAAQ,mBAAmBxsD,EAAEysD,MAAM,mBAAmBzsD,EAAEzE,UAAU1C,OAAOuH,eAAekoD,EAAEvvD,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOosD,EAAE3wD,MAAK,IAAKsE,YAAW,EAAG8H,cAAa,IAAKmgD,EAAEvvD,UAAU0zD,KAAK,SAASnE,GAAG,IAAIA,EAAE,OAAOvsD,KAAK,IAAIiE,EAAEsoD,EAAEx2B,OAAOrR,EAAE6nC,EAAE8D,UAAU7vD,EAAE+rD,EAAEx9C,KAAKqD,EAAEm6C,EAAE+D,MAAMh2D,EAAEiyD,EAAEgE,SAAS,YAAO,IAAStsD,EAAEA,EAAEjE,KAAK+1B,OAAO,OAAO9xB,IAAIA,EAAE4rD,QAAG,IAASnrC,EAAEA,EAAE1kB,KAAKqwD,UAAU,OAAO3rC,IAAIA,EAAEmrC,QAAG,IAASrvD,EAAEA,EAAER,KAAK+O,KAAK,OAAOvO,IAAIA,EAAEqvD,QAAG,IAASz9C,EAAEA,EAAEpS,KAAKswD,MAAM,OAAOl+C,IAAIA,EAAEy9C,QAAG,IAASv1D,EAAEA,EAAE0F,KAAKuwD,SAAS,OAAOj2D,IAAIA,EAAEu1D,GAAG5rD,IAAIjE,KAAK+1B,QAAQrR,IAAI1kB,KAAKqwD,WAAW7vD,IAAIR,KAAK+O,MAAMqD,IAAIpS,KAAKswD,OAAOh2D,IAAI0F,KAAKuwD,SAASvwD,KAAK,IAAI+E,EAAEd,EAAEygB,EAAElkB,EAAE4R,EAAE9X,IAAIiyD,EAAE56C,MAAM,SAAS46C,EAAEtoD,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIygB,EAAE8yB,EAAEoZ,KAAKrE,GAAG,OAAO7nC,EAAE,IAAI3f,EAAE2f,EAAE,IAAImrC,EAAEgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAG5rD,GAAG,IAAIc,EAAE8qD,EAAEA,EAAEA,EAAEA,EAAEA,IAAItD,EAAE78B,KAAK,SAAS68B,GAAG,IAAItoD,EAAE4rD,EAAE,GAAGrvD,IAAI+rD,EAAEA,EAAE5mD,QAAQ,MAAM6M,IAAI+5C,EAAE,KAAK/5C,GAAG+5C,EAAE,KAAK/5C,EAAE,CAAC,IAAIkS,EAAE6nC,EAAE1wD,QAAQ2W,EAAE,IAAI,IAAIkS,GAAGzgB,EAAEsoD,EAAE/lB,UAAU,GAAG+lB,EAAE/5C,IAAIvO,EAAEsoD,EAAE/lB,UAAU,EAAE9hB,GAAG6nC,EAAEA,EAAE/lB,UAAU9hB,IAAIlS,GAAG,OAAO,IAAIzN,EAAE,OAAOd,EAAEsoD,EAAEsD,EAAEA,IAAItD,EAAElvD,KAAK,SAASkvD,GAAG,IAAItoD,EAAE,IAAIc,EAAEwnD,EAAEx2B,OAAOw2B,EAAE8D,UAAU9D,EAAEx9C,KAAKw9C,EAAE+D,MAAM/D,EAAEgE,UAAU,OAAOvD,EAAE/oD,GAAE,GAAIA,GAAGsoD,EAAEvvD,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIuE,EAAE9wD,KAAKusD,IAAIA,EAAEvvD,UAAUoJ,OAAO,WAAW,OAAOpG,MAAMusD,EAAEwE,OAAO,SAAS9sD,GAAG,GAAGA,EAAE,CAAC,GAAGA,aAAasoD,EAAE,OAAOtoD,EAAE,IAAIygB,EAAE,IAAI3f,EAAEd,GAAG,OAAOygB,EAAEssC,WAAW/sD,EAAEgtD,SAASvsC,EAAEwsC,QAAQjtD,EAAEktD,OAAOC,EAAEntD,EAAEwsD,OAAO,KAAK/rC,EAAE,OAAOzgB,GAAGsoD,EAAr6D,GAA06D6E,EAAE5wD,EAAE,OAAE,EAAOuE,EAAE,SAASwnD,GAAG,SAAStoD,IAAI,IAAIA,EAAE,OAAOsoD,GAAGA,EAAE5oD,MAAM3D,KAAKN,YAAYM,KAAK,OAAOiE,EAAE+sD,WAAW,KAAK/sD,EAAEitD,QAAQ,KAAKjtD,EAAE,OAAO2rD,EAAE3rD,EAAEsoD,GAAGzvD,OAAOuH,eAAeJ,EAAEjH,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOvE,KAAKkxD,UAAUlxD,KAAKkxD,QAAQP,EAAE3wD,MAAK,IAAKA,KAAKkxD,SAAS5sD,YAAW,EAAG8H,cAAa,IAAKnI,EAAEjH,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIA,EAAEuE,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAahxD,KAAKgxD,WAAWF,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAa/sD,EAAEjH,UAAUoJ,OAAO,WAAW,IAAImmD,EAAE,CAAC8E,KAAK,GAAG,OAAOrxD,KAAKkxD,UAAU3E,EAAEkE,OAAOzwD,KAAKkxD,QAAQ3E,EAAE4E,KAAKC,GAAGpxD,KAAKgxD,aAAazE,EAAE0E,SAASjxD,KAAKgxD,YAAYhxD,KAAK+O,OAAOw9C,EAAEx9C,KAAK/O,KAAK+O,MAAM/O,KAAK+1B,SAASw2B,EAAEx2B,OAAO/1B,KAAK+1B,QAAQ/1B,KAAKqwD,YAAY9D,EAAE8D,UAAUrwD,KAAKqwD,WAAWrwD,KAAKswD,QAAQ/D,EAAE+D,MAAMtwD,KAAKswD,OAAOtwD,KAAKuwD,WAAWhE,EAAEgE,SAASvwD,KAAKuwD,UAAUhE,GAAGtoD,EAA9uB,CAAivBsK,GAAG9N,IAAIoE,EAAE,IAAI,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,GAAG,SAASnG,EAAE6tD,EAAEtoD,GAAG,IAAI,IAAIygB,OAAE,EAAOlkB,GAAG,EAAE4R,EAAE,EAAEA,EAAEm6C,EAAEvxD,OAAOoX,IAAI,CAAC,IAAI9X,EAAEiyD,EAAE1xD,WAAWuX,GAAG,GAAG9X,GAAG,IAAIA,GAAG,KAAKA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAI,KAAKA,GAAG,KAAKA,GAAG,KAAKA,GAAG,MAAMA,GAAG2J,GAAG,KAAK3J,GAAG,IAAIkG,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,QAAG,IAASkkB,IAAIA,GAAG6nC,EAAEplB,OAAO/0B,QAAQ,MAAC,IAASsS,IAAIA,EAAE6nC,EAAEvqD,OAAO,EAAEoQ,IAAI,IAAIvN,EAAEpE,EAAEnG,QAAG,IAASuK,IAAI,IAAIrE,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,GAAGkkB,GAAG7f,IAAI,IAAIrE,IAAIA,EAAE4R,IAAI,OAAO,IAAI5R,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,UAAK,IAASkkB,EAAEA,EAAE6nC,EAAE,SAASgF,EAAEhF,GAAG,IAAI,IAAItoD,OAAE,EAAOygB,EAAE,EAAEA,EAAE6nC,EAAEvxD,OAAO0pB,IAAI,CAAC,IAAIlkB,EAAE+rD,EAAE1xD,WAAW6pB,GAAG,KAAKlkB,GAAG,KAAKA,QAAG,IAASyD,IAAIA,EAAEsoD,EAAEvqD,OAAO,EAAE0iB,IAAIzgB,GAAGxD,EAAED,SAAI,IAASyD,IAAIA,GAAGsoD,EAAE7nC,IAAI,YAAO,IAASzgB,EAAEA,EAAEsoD,EAAE,SAASoE,EAAEpE,EAAEtoD,GAAG,IAAIygB,EAAE,OAAOA,EAAE6nC,EAAE8D,WAAW9D,EAAEx9C,KAAK/T,OAAO,GAAG,SAASuxD,EAAEx2B,OAAO,KAAK/wB,OAAOunD,EAAE8D,WAAWrrD,OAAOunD,EAAEx9C,MAAM,KAAKw9C,EAAEx9C,KAAKlU,WAAW,KAAK0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,MAAM,KAAK0xD,EAAEx9C,KAAKlU,WAAW,GAAGoJ,EAAEsoD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAK,GAAGjP,cAAcysD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAKvO,IAAIkkB,EAAEA,EAAE/e,QAAQ,MAAM,OAAO+e,EAAE,SAASosC,EAAEvE,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAEstD,EAAE7yD,EAAE8B,EAAE,GAAG4R,EAAEm6C,EAAEx2B,OAAOz7B,EAAEiyD,EAAE8D,UAAUxrD,EAAE0nD,EAAEx9C,KAAK6gD,EAAErD,EAAE+D,MAAM9hD,EAAE+9C,EAAEgE,SAAS,GAAGn+C,IAAI5R,GAAG4R,EAAE5R,GAAG,MAAMlG,GAAG,SAAS8X,KAAK5R,GAAGgS,EAAEhS,GAAGgS,GAAGlY,EAAE,CAAC,IAAIoI,EAAEpI,EAAEuB,QAAQ,KAAK,IAAI,IAAI6G,EAAE,CAAC,IAAI40C,EAAEh9C,EAAE0H,OAAO,EAAEU,GAAGpI,EAAEA,EAAE0H,OAAOU,EAAE,IAAI,KAAKA,EAAE40C,EAAEz7C,QAAQ,MAAM2E,GAAGkkB,EAAE4yB,GAAE,IAAK92C,GAAGkkB,EAAE4yB,EAAEt1C,OAAO,EAAEU,IAAG,GAAIlC,GAAG,IAAIA,GAAGkkB,EAAE4yB,EAAEt1C,OAAOU,EAAE,IAAG,IAAKlC,GAAG,KAAK,KAAKkC,GAAGpI,EAAEA,EAAEwF,eAAejE,QAAQ,MAAM2E,GAAGkkB,EAAEpqB,GAAE,IAAKkG,GAAGkkB,EAAEpqB,EAAE0H,OAAO,EAAEU,IAAG,GAAIlC,GAAGlG,EAAE0H,OAAOU,IAAI,GAAGmC,EAAE,CAAC,GAAGA,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,IAAI,KAAKgK,EAAEhK,WAAW,IAAImyD,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,IAAIG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,UAAU,GAAG6C,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,GAAG,CAAC,IAAImyD,GAAGA,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,GAAGG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,KAAKxB,GAAGkkB,EAAE7f,GAAE,GAAI,OAAO+qD,IAAIpvD,GAAG,IAAIA,GAAGkkB,EAAEkrC,GAAE,IAAKphD,IAAIhO,GAAG,IAAIA,GAAGyD,EAAEuK,EAAE9P,EAAE8P,GAAE,IAAKhO,EAAE,SAASsE,EAAEynD,GAAG,IAAI,OAAOiF,mBAAmBjF,GAAG,MAAMtoD,GAAG,OAAOsoD,EAAEvxD,OAAO,EAAEuxD,EAAEvqD,OAAO,EAAE,GAAG8C,EAAEynD,EAAEvqD,OAAO,IAAIuqD,GAAG,IAAI9vC,EAAE,8BAA8B,SAASo0C,EAAEtE,GAAG,OAAOA,EAAEkF,MAAMh1C,GAAG8vC,EAAE5mD,QAAQ8W,GAAE,SAAU8vC,GAAG,OAAOznD,EAAEynD,MAAMA,EAAE,IAAIyD,EAAExuD,EAAEkjB,EAAE,KAAKgtC,EAAE,SAASnF,EAAEtoD,EAAEygB,GAAG,GAAGA,GAAG,IAAIhlB,UAAU1E,OAAO,IAAI,IAAIwF,EAAE4R,EAAE,EAAE9X,EAAE2J,EAAEjJ,OAAOoX,EAAE9X,EAAE8X,KAAK5R,GAAG4R,KAAKnO,IAAIzD,IAAIA,EAAE9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,EAAE,EAAEmO,IAAI5R,EAAE4R,GAAGnO,EAAEmO,IAAI,OAAOm6C,EAAEvnD,OAAOxE,GAAG9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,KAAK0tD,EAAEnwD,EAAEgO,OAAOhO,GAAG,SAAS+qD,GAAGA,EAAEqF,SAAS,SAASrF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,OAAO6nC,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEn2D,KAAKmI,MAAMguD,EAAED,EAAE,CAACnF,EAAEx9C,MAAM9K,GAAE,OAAQsoD,EAAEsF,YAAY,SAAStF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,IAAIlkB,EAAE+rD,EAAEx9C,MAAM,IAAI,OAAOw9C,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEliD,QAAQ9L,MAAMguD,EAAED,EAAE,CAAClxD,GAAGyD,GAAE,OAAQsoD,EAAE57C,QAAQ,SAAS47C,GAAG,IAAItoD,EAAE0tD,EAAEhhD,QAAQ47C,EAAEx9C,MAAM,OAAO,IAAI9K,EAAEjJ,QAAQ,KAAKiJ,EAAEpJ,WAAW,GAAG0xD,EAAEA,EAAEmE,KAAK,CAAC3hD,KAAK9K,KAAKsoD,EAAEz7C,SAAS,SAASy7C,GAAG,OAAOoF,EAAE7gD,SAASy7C,EAAEx9C,OAAOw9C,EAAEt7C,QAAQ,SAASs7C,GAAG,OAAOoF,EAAE1gD,QAAQs7C,EAAEx9C,OAA5f,CAAogBihD,IAAIA,EAAE,OAAO/rD,EAAE,GAAG,SAASygB,EAAElkB,GAAG,GAAGyD,EAAEzD,GAAG,OAAOyD,EAAEzD,GAAG3G,QAAQ,IAAIuY,EAAEnO,EAAEzD,GAAG,CAAC3G,QAAQ,IAAI,OAAO0yD,EAAE/rD,GAAG4R,EAAEA,EAAEvY,QAAQ6qB,GAAGtS,EAAEvY,QAAQ,OAAO6qB,EAAEnW,EAAE,CAACg+C,EAAEtoD,KAAK,IAAI,IAAIzD,KAAKyD,EAAEygB,EAAEtS,EAAEnO,EAAEzD,KAAKkkB,EAAEtS,EAAEm6C,EAAE/rD,IAAI1D,OAAOuH,eAAekoD,EAAE/rD,EAAE,CAAC8D,YAAW,EAAGC,IAAIN,EAAEzD,MAAMkkB,EAAEtS,EAAE,CAACm6C,EAAEtoD,IAAInH,OAAOE,UAAUyV,eAAe3R,KAAKyrD,EAAEtoD,GAAGygB,EAAEA,EAAE6nC,IAAI,oBAAoBlwD,QAAQA,OAAOkrB,aAAazqB,OAAOuH,eAAekoD,EAAElwD,OAAOkrB,YAAY,CAACjqB,MAAM,WAAWR,OAAOuH,eAAekoD,EAAE,aAAa,CAACjvD,OAAM,KAAMonB,EAAE,MAApgX,GAAohX,MAAK,IAACorC,EAAG,MAACC,GAAOJ,ECW1iX,SAASmC,EACZC,EACAxlD,EACAylD,EACAC,GAEKF,IACGC,IACAzlD,GACI,mCAC6B,iBAArBylD,EAAgCA,EAAmBA,MAEnEE,EAAK3lD,EAAU,qBAAuBA,EAAU,oBAAqB0lD,GAAkBH,IAIxF,SAASI,EAAK3lD,EAAkB0lD,GAEnC,MAAMhuD,EAAI,IAAIrI,MAAM2Q,EAAU,kBAAkBA,IAAY,kBAI5D,MAHI3Q,MAAM+8C,mBACN/8C,MAAM+8C,kBAAkB10C,EAAGguD,GAAkBC,GAE3CjuD,EAuBH,SAASkuD,EAAYC,EAAe7lD,EAAU,iBAAkB0lD,GAEnEC,EAAK,GAAG3lD,KADOyC,KAAKC,UAAUmjD,KACDH,GAAkBE,GAwD5C,SAASE,EAAqBjuD,GACjC,GAAKA,EAKL,OADkB4K,KAAKC,UAAU7K,GACnBpJ,OAAS,EAGZoJ,EAOJ,CAAEiI,KAHIjI,EAAMiI,MAAQ4hD,EAAS7pD,EAAMiI,MAAQjI,EAAMiI,KAAmB,SAG5DE,QAFCnI,EAAMmI,SAAW0hD,EAAS7pD,EAAMmI,SAAWnI,EAAMmI,QAAyB,YAElED,MADVlI,EAAMkI,OAAS2hD,EAAS7pD,EAAMkI,OAASlI,EAAMkI,WAAqBxN,GCvHpF,IAAIwzD,EAEJ,IAEIA,EAAa,oBAAQ,OAChBA,aAAU,EAAVA,EAAYC,eACbD,OAAaxzD,GAEnB,OA8BK,SAAS0zD,EAAelzD,GAC3B,GAAIgzD,EACA,OAAOA,EAAWC,YAAYjzD,GAAME,SAAS,OAGjD,GAAIizD,OAAQ,CAER,OAXYl4D,EAUAk4D,OAAOC,gBAAgB,IAAIj3D,WAAW6D,IAT/C,IAAI/E,GAAKupB,KAAKhf,GAAMA,EAAEtF,SAAS,IAAImzD,SAAS,EAAG,OAAMn3D,KAAK,IADrE,IAAoBjB,EAchB23D,EAAK,4B,2DCCF,SAASU,EAAkBC,EAAoBC,GAClD,MAAMC,EAAaF,EAAWG,oBACxBC,EAAcH,EAAWE,oBACzBE,EAAcH,EAAW/3D,OACzBm4D,EAAeF,EAAYj4D,OACjC,IAAIo4D,EAAW,EACXC,EAAY,EAChB,KAAOD,EAAWF,GAAeG,EAAYF,GACrCJ,EAAWK,KAAcH,EAAYI,KACrCD,GAAY,GAEhBC,GAAa,EAEjB,OAAOD,IAAaF,EAIjB,SAASI,EAAWnwB,GACvB,IAAIowB,EAAO,EAEX,IAAK,IAAIj5D,EAAI,EAAGA,EAAI6oC,EAASnoC,OAAQV,IACjCi5D,GAASA,GAAQ,GAAKA,EAAOpwB,EAAStoC,WAAWP,GAAM,EAE3D,OAAOi5D,EAeJ,SAASC,EAA8B3uD,EAAuBnG,GACjE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAsvD,EAAwBnpD,EAAE4uD,cAAe/0D,EAAE+0D,eAa9C,SAASC,EAA4B7uD,EAAuBnG,GAC/D,OAAOsvD,EAAwBnpD,EAAGnG,GAG/B,SAASi1D,EAAkBC,GAC9B,OAAOA,EAAaJ,EAAgCE,EAWjD,SAASG,EAA6BhvD,EAAWnG,GACpD,OAA+C,IAAxC80D,EAA8B3uD,EAAGnG,GASrC,SAASo1D,EAA2BjvD,EAAWnG,GAClD,OAA6C,IAAtCg1D,EAA4B7uD,EAAGnG,GAGnC,SAASq1D,EAAkBz2D,EAAe4pC,GAC7C,IAAIlnB,EAAS,EACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC1BgD,EAAMhD,KAAO4sC,GACblnB,IAGR,OAAOA,EC/HX,IAAIg0C,EAaG,IAAUC,EAYV,SAASC,EACZC,EACAxgD,GAEA,OAAa,CACT,MAAMqM,EAASrM,EAASwgD,GACxB,QAAer1D,IAAXkhB,EACA,OAAOA,EAGX,MAAMo0C,EAAaC,EAAiBF,GACpC,GAAIC,IAAeD,EACf,OAGJA,EAAYC,GAIb,SAASC,EAAiBC,GAC7B,OAAOA,EAAWtyD,OAAO,EAAGc,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,SAGpF,SAASwzD,EAAcD,GAC1B,GAAIA,EAAWntB,OAAO,KAAO,MAAU,CACnC,GAAImtB,EAAWntB,OAAO,KAAO,MACzB,OAAO,EAEX,MAAMqtB,EAAKF,EAAWz4D,QAAQ,MAAU,GACxC,GAAI24D,EAAK,EACL,OAAO,EAEX,MAAMC,EAAKH,EAAWz4D,QAAQ,MAAU24D,EAAK,GAC7C,OAAIC,EAAK,EACED,EAAK,EAETC,EAAK,EAEhB,MAA6B,MAAzBH,EAAWntB,OAAO,IACdmtB,EAAWntB,OAAO,KAAO,MAClB,EAGR,EAGJ,SAASutB,EAAkBJ,GAC9B,MAAMK,EAAiBC,EAAiBN,GAClCO,EAAaN,EAAcI,GAC3BnjD,EAAOmjD,EAAenuB,UAAU,EAAGquB,GACnCC,EAAOH,EAAenuB,UAAUquB,GAAYtnD,MAAM,OAKxD,OAJIunD,EAAK95D,OAAS,IAAM85D,EAAKA,EAAK95D,OAAS,IACvC85D,EAAK7a,MAGF8a,EAAqB,CAACvjD,KAASsjD,IAGnC,SAASC,EAAqBC,GACjC,IAAKvG,EAAKuG,GACN,MAAO,GAKX,MAAMC,EAAU,CAACD,EAAW,IAC5B,IAAK,IAAI16D,EAAI,EAAGA,EAAI06D,EAAWh6D,OAAQV,IAAK,CACxC,MAAM46D,EAAYF,EAAW16D,GAC7B,GAAK46D,GAA2B,MAAdA,EAAlB,CAIA,GAAkB,OAAdA,EACA,GAAID,EAAQj6D,OAAS,GACjB,GAAoC,OAAhCi6D,EAAQA,EAAQj6D,OAAS,GAAa,CACtCi6D,EAAQhb,MACR,eAED,GAAIgb,EAAQ,GACf,SAGRA,EAAQ55D,KAAK65D,IAGjB,OAAOD,EAGJ,SAASE,EAAsBH,GAClC,OAA0B,IAAtBA,EAAWh6D,OACJ,GAIJ45D,GADMI,EAAW,IAAMI,GAAiCJ,EAAW,KAC3CA,EAAWp3D,MAAM,GAAGpC,KAAK,QAGrD,SAAS65D,EAAgBC,EAAiBC,GAC7C,IAAKD,EAAQE,WAAWJ,GAAiCG,IACrD,OAGJ,MAAME,EAAiBf,EAAkBY,GAGzC,IAAII,EAAe,IACnB,IAAK,IAAIp7D,EAHoBo6D,EAAkBa,GAGbv6D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEo7D,GAAgB,MAAWD,EAAen7D,GAG9C,OAAOo7D,EAIJ,SAASC,EAAgBC,EAAgBN,EAAiBO,GAC7D,IAAKP,EAAQE,WAAWK,GACpB,OAGJ,MAAMJ,EAAiBf,EAAkBY,GAEzC,IAAIQ,EAAUD,EAEd,IAAK,IAAIv7D,EAHoBo6D,EAAkBmB,GAGb76D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEw7D,EAAUC,GAAaD,EAASL,EAAen7D,IAC1Cs7D,EAAGI,WAAWF,IACfF,EAAGK,UAAUH,IA1IzB,SAAiB7B,GACG,EAAA1/C,GAAhB,SAAmBjX,GACf,MAAM0d,EAAsB1d,EAC5B,OAAO0d,KAAeA,EAAUk7C,gBAAkBl7C,EAAUm7C,QAHpE,CAAiBlC,MAAQ,KA+JzB,MAAMmC,EAAgC,MAAb,MAAmB,KAAO,IAC5C,SAASxB,EAAiBN,GAC7B,GAAIA,EAAWpuD,SAASkwD,GAAmB,CACvC,MAAMC,EAAkB,SACxB,OAAO/B,EAAW3uD,QAAQ0wD,EAAiB,OAG/C,OAAO/B,EAaJ,SAASgC,GAAavnD,KAAiBwnD,GAC1C,OAAOC,GAAc/H,EAAK8H,GAASR,GAAahnD,KAASwnD,GAAS3B,EAAiB7lD,IAGhF,SAASgnD,GAAazB,KAAuBiC,GAC5CjC,IACAA,EAAaM,EAAiBN,IAGlC,IAAK,IAAIoB,KAAgBa,EAChBb,IAILA,EAAed,EAAiBc,GAK5BpB,EAHCA,GAA8C,IAAhCC,EAAcmB,GAGhBN,GAAiCd,GAAcoB,EAF/CA,GAMrB,OAAOpB,EA0BJ,SAASmC,GAAatxB,EAAgBuxB,EAAeC,EAAqC/C,GAQ7F,GAPgC,iBAArB+C,GACPxxB,EAAS4wB,GAAaY,EAAkBxxB,GACxCuxB,EAAQX,GAAaY,EAAkBD,IACJ,kBAArBC,IACd/C,EAAa+C,QAGF73D,IAAXqmC,QAAkCrmC,IAAV43D,EACxB,OAAO,EAEX,GAAIvxB,IAAWuxB,EACX,OAAO,EAGX,MAAME,EAAmBlC,EAAkBvvB,GACrC0xB,EAAkBnC,EAAkBgC,GAE1C,GAAIG,EAAgB77D,OAAS47D,EAAiB57D,OAC1C,OAAO,EAGX,MAAM87D,EAA4BlD,EAAaC,EAA+BC,EAC9E,IAAK,IAAIx5D,EAAI,EAAGA,EAAIs8D,EAAiB57D,OAAQV,IAEzC,KAD+B,IAANA,EAAUu5D,EAA+BiD,GAC5CF,EAAiBt8D,GAAIu8D,EAAgBv8D,IACvD,OAAO,EAIf,OAAO,EA2BJ,SAASy8D,GACZhoD,EACApI,EACAqwD,EACApD,GAEA,MAAMqD,OACan4D,IAAfk4D,QAA2Cl4D,IAAf80D,EACtBsD,GAAwBnoD,EAAMioD,EAAYpD,GAC1CsD,GAAwBnoD,GAElC,OAAOkoD,EAAUloD,EAAKnR,MAAM,EAAGmR,EAAK/T,OAASi8D,EAAQj8D,SAAW2L,EAAI6uD,WAAW,KAAO7uD,EAAM,IAAMA,GAAOoI,EA4BtG,SAASmoD,GACZnoD,EACAioD,EACApD,GAIA,GAAIoD,EACA,OAmaR,SACIjoD,EACAioD,EACAG,GAEA,GAA0B,iBAAfH,EACP,OAAOI,GAAwBroD,EAAMioD,EAAYG,IAA2B,GAEhF,IAAK,MAAME,KAAaL,EAAY,CAChC,MAAMh3C,EAASo3C,GAAwBroD,EAAMsoD,EAAWF,GACxD,GAAIn3C,EACA,OAAOA,EAGf,MAAO,GAjbIs3C,CACHC,GAAgCxoD,GAChCioD,EACApD,EAAaC,EAA+BC,GAGpD,MAAM0D,EA0CH,SAAyBlD,EAAoB0C,EAAyCpD,GAKzF,GADmBW,EAHnBD,EAAaM,EAAiBN,MAIXA,EAAWt5D,OAC1B,MAAO,GAMX,MAAMqR,GADNioD,EAAaiD,GAAgCjD,IACrB12D,MAAMkF,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,OAAY,IAMrG,OAAmEsL,EA5D9CorD,CAAgB1oD,GAC/B2oD,EAAiBF,EAAaz2D,YAAY,KAChD,OAAI22D,GAAkB,EACXF,EAAahxB,UAAUkxB,GAE3B,GA+EJ,SAASC,GACZC,EACA1nD,EACA2nD,GAgBA,OAdA,EACItD,EAAcqD,GAAiB,GAAMrD,EAAcrkD,GAAM,EACzD,0DAqWR,SACI7S,EACA6S,EACAinD,EACAW,GAEA,MAAMC,EAAiBrD,EAAkBr3D,GACnC26D,EAAetD,EAAkBxkD,GAEvC,IAAIpU,EACJ,IAAKA,EAAQ,EAAGA,EAAQi8D,EAAe/8D,QAAUc,EAAQk8D,EAAah9D,SAGvC,IAAVc,EAAc+3D,EAA+BsD,GAFxCW,EAAqBC,EAAej8D,IACtCg8D,EAAqBE,EAAal8D,KAFoBA,KAS9E,GAAc,IAAVA,EACA,OAAOk8D,EAGX,MAAMhD,EAAagD,EAAap6D,MAAM9B,GAChCmU,EAAqB,GAC3B,KAAOnU,EAAQi8D,EAAe/8D,OAAQc,IAClCmU,EAAS5U,KAAK,MAElB,MAAO,CAAC,MAAO4U,KAAa+kD,GA5XLiD,CACnBL,EACA1nD,EAH2D,kBAArC2nD,GAAiDA,EAI1DhE,EAA+BC,EALA,mBAArC+D,EAAkDA,EAAmC/J,GAe7F,SAASoK,GAA0BrzD,EAAWnG,GACjD,OAAOy5D,GAAmBtzD,EAAGnG,EAAGg1D,GAM7B,SAAS0E,GAA4BvzD,EAAWnG,GACnD,OAAOy5D,GAAmBtzD,EAAGnG,EAAG80D,GAG7B,SAAS4B,GAAiCd,GAC7C,OAAK+D,GAA8B/D,GAI5BA,EAHIA,EAAa,MAMrB,SAAS+D,GAA8B/D,GAC1C,GAA0B,IAAtBA,EAAWt5D,OACX,OAAO,EAGX,MAAMksC,EAAKotB,EAAWz5D,WAAWy5D,EAAWt5D,OAAS,GACrD,OAAc,KAAPksC,GAA4B,KAAPA,EAGzB,SAASqwB,GAAgCjD,GAC5C,OAAK+D,GAA8B/D,GAG5BA,EAAWtyD,OAAO,EAAGsyD,EAAWt5D,OAAS,GAFrCs5D,EAKR,SAASgE,GAAiBC,EAAkBC,GAAoB,GACnE,IAAKA,EACD,OAAO,UAAaD,GAIxB,MAAME,GADNF,EAAWG,GAAYH,IACQ18D,QAAQ,KACvC,OAAO08D,EAASv2D,OAAOy2D,GAGpB,SAASC,GAAYpE,GACxB,OAAO,WAAcA,GAGlB,SAASqE,GAAmBJ,EAAkBC,GAAoB,GACrE,MAAM7xD,EAAM2xD,GAAiBC,EAAUC,GACvC,OAAOD,EAASv2D,OAAO,EAAGu2D,EAASv9D,OAAS2L,EAAI3L,QAG7C,SAASw7D,GAAclC,GAC1B,OAAOM,EAAiB,YAAeN,IAGpC,SAASsE,GAAYhD,EAAgB7mD,G,QACxC,OAAuC,QAAhC,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE6pD,qBAAa,SAGpC,SAASE,GAAOlD,EAAgB7mD,G,QACnC,OAAkC,QAA3B,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE+pD,gBAAQ,SAG/B,SAASD,GAAQjD,EAAgB7mD,GACpC,IACI,OAAO6mD,EAAGmD,SAAShqD,GACrB,MAAO9K,GACL,QAID,SAAS+0D,GAAYpD,EAAgB7mD,GACxC,IACI,OAAO6mD,EAAGqD,aAAalqD,GACzB,MAAO9K,GACL,QAID,SAASi1D,GAAqBtD,EAAgB7mD,GACjD,IACI,OAAOoqD,GAAmCvD,EAAGwD,mBAAmBrqD,GAAQ,KAAM6mD,EAAI7mD,GACpF,MAAO9K,GACL,MAAO,CAAEo1D,MAAO,GAAIC,YAAa,KAKlC,SAASH,GACZI,EACA3D,EACA7mD,GAEA,MAAM6Z,EAAU2wC,EAAWC,MAAK,CAAC30D,EAAGnG,IAC5BmG,EAAEwH,KAAO3N,EAAE2N,MACH,EACDxH,EAAEwH,KAAO3N,EAAE2N,KACX,EAEA,IAGTgtD,EAAkB,GAClBC,EAAwB,GAC9B,IAAK,MAAMG,KAAS7wC,EAGhB,GAAmB,MAAf6wC,EAAMptD,MAA+B,OAAfotD,EAAMptD,KAIhC,GAAIotD,EAAMX,SACNO,EAAMh+D,KAAKo+D,EAAMptD,WACd,GAAIotD,EAAMb,cACbU,EAAYj+D,KAAKo+D,EAAMptD,WACpB,GAAIotD,EAAMC,iBAAkB,CAC/B,MACMC,EAAOd,GAAQjD,EADHG,GAAahnD,EAAM0qD,EAAMptD,QAEvCstD,aAAI,EAAJA,EAAMb,UACNO,EAAMh+D,KAAKo+D,EAAMptD,OACVstD,aAAI,EAAJA,EAAMf,gBACbU,EAAYj+D,KAAKo+D,EAAMptD,MAInC,MAAO,CAAEgtD,QAAOC,eA6Fb,SAASM,GAAYC,EAAkBC,GAC1C,IAAIC,EAxFD,SAAiCF,EAAkBC,GACtD,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAEnCE,EAAmBC,KACnBC,EAA8B,IAAIF,MAAqBA,QAAuBA,SAC9EG,EAA2B,IAAIC,OAAO,WAAWJ,KAAqB,KAGxEzE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGvE,IAAIsE,EAAe,GACfQ,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EACA,OAAdP,EACA6E,GAAgBK,GAEXG,IACDrF,EAAYgF,EAAmBhF,GAGnC6E,GAAgB7E,EAAUvvD,QAAQ00D,GAA2B5I,GAC3C,MAAVA,EACO,KAAKyI,MACK,MAAVzI,EACA,KAAKyI,KAGL,KAAOzI,IAItB8I,GAAiB,GAIzB,OAAOR,EA6CYS,CAAwBX,EAAUC,GAErDC,EAAe,KAAKA,QADKI,QAGzB,MAAMhE,EAAS,IAAImE,OAAOP,GAG1B,MAAO,CACH7D,aAjDD,SAAyB2D,EAAkBC,GAC9C,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAOzC,GAJIvE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGzC,IAA1BA,EAAez6D,SAAiBy6D,EAAe,GAC/C,OAAO,MAGX,IAAIS,EAAe,GACfqE,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EAAgB,CAClC,GAAkB,OAAdP,EACA,MAEA,GAAIA,EAAUzD,MAAM,QAChB,MAGC8I,IACDrF,EAAY,MAAWA,GAG3BgB,GAAgBhB,EAChBqF,GAAiB,EAIzB,OAAOrE,EAScuE,CAAgBZ,EAAUC,GAI3C3D,UAID,SAASgE,KAEZ,MAAoB,MAAb,MAAmB,IAAM,OAc7B,SAASO,GAAe3rD,GAC3B,MAAM8lD,EAAaN,EAAcxlD,GACjC,OAAO8lD,EAAa,GAAKA,IAAe9lD,EAAK/T,OAIjD,SAASm9D,GAAmBtzD,EAAWnG,EAAWi8D,GAC9C,GAAI91D,IAAMnG,EACN,OAAO,EAEX,QAAUI,IAAN+F,EACA,SAEJ,QAAU/F,IAANJ,EACA,OAAO,EAKX,MAAMk8D,EAAQ/1D,EAAE2hC,UAAU,EAAG+tB,EAAc1vD,IACrCg2D,EAAQn8D,EAAE8nC,UAAU,EAAG+tB,EAAc71D,IACrCshB,EAASwzC,EAA8BoH,EAAOC,GACpD,GAAe,IAAX76C,EACA,OAAOA,EAIX,MAAMk6C,EAAmBC,KACnBW,EAA4B,IAAIR,OAAO,MAAMJ,cAA6BA,MAI1Ea,EAAQl2D,EAAE2hC,UAAUo0B,EAAM5/D,QAC1BggE,EAAQt8D,EAAE8nC,UAAUq0B,EAAM7/D,QAChC,IAAK8/D,EAA0B9jB,KAAK+jB,KAAWD,EAA0B9jB,KAAKgkB,GAC1E,OAAOL,EAAkBI,EAAOC,GAKpC,MAAMC,EAAcvG,EAAkB7vD,GAChCq2D,EAAcxG,EAAkBh2D,GAChCy8D,EAAer4D,KAAKC,IAAIk4D,EAAYjgE,OAAQkgE,EAAYlgE,QAC9D,IAAK,IAAIV,EAAI,EAAGA,EAAI6gE,EAAc7gE,IAAK,CACnC,MAAM0lB,EAAS26C,EAAkBM,EAAY3gE,GAAI4gE,EAAY5gE,IAC7D,GAAe,IAAX0lB,EACA,OAAOA,EAIf,OP/sBG,SAAuBnb,EAAuBnG,GACjD,OAAOsvD,EAAwBnpD,EAAGnG,GO8sB3B,CAAcu8D,EAAYjgE,OAAQkgE,EAAYlgE,QAoBzD,SAASo8D,GACLroD,EACAsoD,EACAF,GAKA,GAHKE,EAAU7B,WAAW,OACtB6B,EAAY,IAAMA,GAElBtoD,EAAK/T,QAAUq8D,EAAUr8D,QAA8D,KAApD+T,EAAKlU,WAAWkU,EAAK/T,OAASq8D,EAAUr8D,QAAyB,CACpG,MAAMogE,EAAgBrsD,EAAKnR,MAAMmR,EAAK/T,OAASq8D,EAAUr8D,QACzD,GAAIm8D,EAAuBiE,EAAe/D,GACtC,OAAO+D,GA2DZ,SAASC,GAAiBzF,EAAgB0F,GAC7C,OAAO1F,EAAG2F,kBAGP,SAA4BD,GAE/B,IAAIE,EAAgBhF,GADR1G,EAAIn+C,MAAM2pD,GACgBvsD,MAQtC,OAJIysD,EAAc/J,MAAM,oBACpB+J,EAAgBA,EAAcx5D,OAAO,IAGlCw5D,EAbqBC,CAAmBH,IAgB5C,SAAS,GAAiB1F,EAAgB7mD,GAC7C,OAAO6mD,EAAG8F,OAAO9F,EAAG+F,oBAAoB5sD,IAMrC,SAAS6sD,GAAkBhG,EAAgB7mD,GAC9C,OAOG,SAAmC6mD,GACtC,YAA2B92D,IAAvBk1D,IAIJA,EAIG,SAA2C4B,GAC9C,IAAIiG,EACJ,IAEI,IAAIxvD,EACAyvD,EACJ,GACIzvD,EAAO,GAAGmmD,EAAe,QACzBqJ,EAAW,OAAUjG,EAAGmG,SAAU1vD,GAClCyvD,EAAkB,OAAUlG,EAAGmG,SAAU1vD,EAAKonD,qBACzCmC,EAAGI,WAAW6F,IAAajG,EAAGI,WAAW8F,IAKlD,OAHAlG,EAAGoG,cAAcH,EAAU,GAAI,SAGvBjG,EAAGI,WAAW8F,GACxB,MAAO73D,GACL,OAAO,E,QAEH43D,GAEAjG,EAAGqG,WAAWJ,IAzBDK,CAAkCtG,IAH5C5B,EATPmI,CAA0BvG,GACnB7mD,EAGJA,EAAKjP,cCj4BhB,IAAYs8D,IAAZ,SAAYA,GAIR,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,uBACA,uBAfJ,CAAYA,QAAa,KAkBlB,MAAMC,GAA4BD,GAAcE,MAEhD,SAASC,GAAgB/+C,GAG5B,MAAO,GAFeA,GAAW,EAAK,OACP,IAAVA,IAIlB,SAASg/C,GAAkBC,GAC9B,MAAMlvD,EAAQkvD,EAAUlvD,MAAM,KAC9B,KAAIA,EAAMvS,OAAS,GAOnB,OAGG,SAA+B0hE,EAAeC,GACjD,GAAIhuD,MAAM+tD,IAAU/tD,MAAMguD,GACtB,OAGJ,GAAID,EAAQ,KAAOC,EAAQ,IACvB,OAGJ,MAAMr/D,EAAgB,IAARo/D,EAAcC,EAC5B,QAA6B79D,IAAzBs9D,GAAc9+D,IAKRA,GAQQ,GAAM,EAJxB,OAAOA,EAtBAs/D,CAHc76D,SAASwL,EAAM,GAAI,IACnBxL,SAASwL,EAAM,GAAI,KC3B5C,IAAKsvD,IAAL,SAAKA,GAED,6CAGA,iDAGA,uCAIA,qCAZJ,CAAKA,QAAY,KAgBjB,MAAMC,GAA+B,IAC/BC,GAA2C,IAAIrhE,MAAMohE,IAIrDE,GAAsC,GAGtCC,GAAyD,GAG/D,IAAIC,IAAgC,EAE7B,SAASC,GAAsBjxB,EAAcsN,GAChD,GAAItN,EAAO4wB,GACP,OAAOC,GAAyB7wB,KAAU2wB,GAAaO,oBAS3D,IAAIC,EAOJ,OAZKH,KACDI,IAA4B,GAC5BJ,IAAgC,GAKhCG,OADav+D,IAAb06C,EACe+jB,GAAiBrxB,EAAMsN,GAEvBwjB,GAAmB9wB,GAG/BmxB,IAAiBR,GAAaO,oBAGlC,SAASI,GAAiBtxB,EAAcsN,GAC3C,OAAItN,EAAO4wB,GAEHC,GAAyB7wB,KAAU2wB,GAAaO,qBAChDL,GAAyB7wB,KAAU2wB,GAAaY,gBAKnDP,KACDI,IAA4B,GAC5BJ,IAAgC,QAGnBp+D,IAAb06C,EACO+jB,GAAiBrxB,EAAMsN,GAI9BwjB,GAAmB9wB,KAAU2wB,GAAaO,qBAC1CJ,GAAmB9wB,KAAU2wB,GAAaY,gBA8B3C,SAASC,GAAUx2B,GACtB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAASy2B,GAAMz2B,GAClB,OAAOw2B,GAAUx2B,IAAQA,GAAM,IAAUA,GAAM,KAAYA,GAAM,IAAUA,GAAM,IAAkB,KAAPA,EAGzF,SAAS02B,GAAQ12B,GACpB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAAS22B,GAAS32B,GACrB,OAAc,KAAPA,GAAyB,KAAPA,GAAyB,KAAPA,EAG/C,SAASq2B,GAAiBrxB,EAAcsN,GACpC,GAAIwjB,GAAmB9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0O+B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AAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,C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ACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAA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EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB,MAAMC,GACTx6J,YAAYy6J,EAAqBC,GAsBjC,KAAAC,QAAsB,GA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","file":"pyright-main-382ffb2ee9671656ad85.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/public/workers/pyright-main-fbd1b969112a733566b7.worker.js b/public/workers/pyright-main-fbd1b969112a733566b7.worker.js deleted file mode 100644 index e8168ed08..000000000 --- a/public/workers/pyright-main-fbd1b969112a733566b7.worker.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see pyright-main-fbd1b969112a733566b7.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new q.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new q.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+e+"-"+{7:"dc7a5e1b990b9e91c306",101:"c121083e2a7a54d431db",131:"ab4e388ba76ce41a9bbe",162:"52858c93d4cbe348333a",244:"93121a06520a592814db",362:"fd952ba8819f72429fa3",372:"10923792ec92d9be48e3",416:"213af665ac61b39bb90a",464:"9ad967bc01f802ec7036",753:"025cc0f8d4b408b3f912",846:"49df54db2b702b64a1c6"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>m,Utils:()=>C}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//,p="",d="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,m=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||p,this.authority=e.authority||p,this.path=e.path||p,this.query=e.query||p,this.fragment=e.fragment||p):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||p,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==d&&(t=d+t):t=d}return t}(this.scheme,n||p),this.query=i||p,this.fragment=r||p,function(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return T(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=p),void 0===n?n=this.authority:null===n&&(n=p),void 0===i?i=this.path:null===i&&(i=p),void 0===r?r=this.query:null===r&&(r=p),void 0===s?s=this.fragment:null===s&&(s=p),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new g(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=h.exec(e);return n?new g(n[2]||p,x(n[4]||p),x(n[5]||p),x(n[7]||p),x(n[9]||p),t):new g(p,p,p,p,p)},e.file=function(e){var t=p;if(i&&(e=e.replace(/\\/g,d)),e[0]===d&&e[1]===d){var n=e.indexOf(d,2);-1===n?(t=e.substring(2),e=d):(t=e.substring(2,n),e=e.substring(n)||d)}return new g("file",t,e,p,p)},e.from=function(e){return new g(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),b(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new g(t);return n._formatted=t.external,n._fsPath=t._sep===f?t.fsPath:null,n}return t},e}(),f=i?1:void 0,g=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(m),y=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function _(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=y[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function v(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function b(e,t){var n=t?v:_,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=d,i+=d),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/"+String.fromCharCode(p+32)+":"+o.substr(3));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o=String.fromCharCode(p+32)+":"+o.substr(2))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:_(l,!1)),i}function I(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+I(e.substr(3)):e}}var S=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function x(e){return e.match(S)?e.replace(S,(function(e){return I(e)})):e}var C,w=n(470),E=function(){for(var e=0,t=0,n=arguments.length;t{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function qe(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&q(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class qn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||Vn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function Vn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,qi,Vi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(qi||(qi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(Vi||(Vi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function qr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!Vr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function Vr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?Vt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new Vs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,qs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class Vs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(qs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class qo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new qo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function Vo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function qa(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(Va(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function Va(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(464).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(362).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(846).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(162).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(244).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(372).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(101).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(131).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(753).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(7).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(416).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",qo.createWithType(4,r)),o.set("__new__",qo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",qo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",qo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",qo.createWithType(4,eo.create(m))),o.set("__delitem__",qo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=Vo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(Vt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=Vt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=qr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return qr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function ql(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var Vl,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(Vl||(Vl={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=Vo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=Vo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(Vl.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=Vo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class ic{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new ic(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,rc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class rc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new rc;return t.walk(e),t._result}}class sc{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}var s=n-1;return{line:s,character:e-t[s]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){var t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){for(var n=e.getText(),i=0,r=[],s=0,o=Tc(t.map(Sc),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));si&&r.push(n.substring(i,l)),a.newText.length&&r.push(a.newText),i=e.offsetAt(a.range.end)}return r.push(n.substr(i)),r.join("")}}(oc||(oc={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(ac||(ac={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=Vt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=Vo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(Vt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class qc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(fc||(fc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(gc||(gc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(yc||(yc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(_c||(_c={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(hc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(uc.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(uc.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(uc.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(uc.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(uc.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(uc.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(uc.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(uc.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(uc.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(uc.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(yc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(uc.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(uc.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(uc.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(hc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(pc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(pc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(pc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(Ve(this._cs.currentChar))this._cs.moveNext();else{if(!Ve(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(qe(this._cs.currentChar)?(this._cs.moveNext(),e()):qe(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(mc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(_c.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(gc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(gc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(gc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(uc.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(yc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(uc.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=cc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=cc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=Vi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=Vi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=qi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return fc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=Vc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=Vc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),_c.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),_c.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new qo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===ac.Darwin?"darwin":e.pythonPlatform===ac.Windows?"win32":e.pythonPlatform===ac.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===ac.Darwin?"posix":e.pythonPlatform===ac.Windows?"nt":e.pythonPlatform===ac.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),qt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),qt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);qt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!Vr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=Vt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=Vt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",qo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Va(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._moduleNode=e,this._fileInfo=Vt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&Vc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)}));return!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=Vo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=Vo(t.symbol),a=Vo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:Vo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=Vo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=Vo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=Vo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=Vo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=oc.create(this._filePath,"python",e,"")),this._clientDocument=oc.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(Vt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=ql(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new qc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=Vt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?Vt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof qo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=Vt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",qo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=qo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=qo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",qo.createWithType(4,f)),h.set("__init__",qo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",qo.createWithType(8,b)),h.set("items",qo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",qo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",qo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(Va(x,e));h.set("__match_args__",qo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=Va(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function qu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=Vt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function Vu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=Vt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,qo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=Vt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=qo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=qo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=qo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function q(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=Vt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=Vt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(Va(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=Vt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=Vt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=Vt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=Vt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=Vo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=Vt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return Vt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=Vt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=Vt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=Vt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(Va(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(Va(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(Vt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${Vt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=Vt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(Vt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(Vt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(Vt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(Vt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(Vt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(Va(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(Va(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,qe(n),void 0,void 0,96))return Ve(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=Ve(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(Vt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(Va(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function qe(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function Ve(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=qe(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(Va(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(Va(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return Vt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(Va(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&Vt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=Va(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=Va(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",qo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(Vt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(Vt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=Vt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",qo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=qo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=Vt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=Vt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",qo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new qo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",Vt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(Vt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(Va(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==Vt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=Vt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=Vt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=Vt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",qo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",qo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=Vt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=Vt(e);d&&1===h.getMessages().length?_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(Va(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=Vt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=Va(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||Vt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function qt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=Vt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=Vt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=Vt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=qt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=Vt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,qr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,Vt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,Vt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",qo.createWithType(4,l)),f.set("__new__",qo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(Va(_,t));f.set("__match_args__",qo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,qo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",qo.createWithType(4,n))}else b&&!s&&f.set("__hash__",qo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",qo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=qu(li,n.expression)))}if(ko(r)){const n=Vu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=Vu($(o.leftExpression,void 0,2|i).type)):s=Vu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=Vt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,qr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=Vt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=Vt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(Va(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=Vt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=qu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=Vt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,Vt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=qo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=qo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,Vt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=qo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=qo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(Vt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=Vt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=Vt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?Vn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,Vt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=Vt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=Vt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=Vt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(Vt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=Vt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(Vt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return Vt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=qt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,Vt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=qo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=Vt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=Vt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=qt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),q(e,n))try{let i=Pn(e,n);if(V(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw V(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&q(e,t))try{const n=An(t);if(V(e)||4===t.type)return n}catch(t){throw V(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?qn(e,t):Ys.create())}function qn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function Vn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(Va(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(Va(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(Va(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=Vo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=Vt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(Vt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=Vt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:Vn,getFunctionInferredReturnType:qn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||Vt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||Vt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return qr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new sc;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=ic.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=ic.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(qr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())Vn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{Vn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var qp=__webpack_require__(8764).Buffer;class Vp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return qp.from&&qp.from!==Int8Array.from?qp.from(e,t):new qp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new Vp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new Vp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(V=null===(q=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===q?void 0:q.resolveSupport)||void 0===V?void 0:V.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?lc.PreferSource:lc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?lc.PreferStubs:lc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,lc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new qn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){Vn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); -//# sourceMappingURL=pyright-main-fbd1b969112a733566b7.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-fbd1b969112a733566b7.worker.js.map b/public/workers/pyright-main-fbd1b969112a733566b7.worker.js.map deleted file mode 100644 index 1df09395b..000000000 --- a/public/workers/pyright-main-fbd1b969112a733566b7.worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","O","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","C","v","exec","A","revive","_formatted","external","_fsPath","_sep","$mid","encodeURIComponent","w","decodeURIComponent","match","P","U","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","changes_1","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","sortedEdits_1","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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A,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0O+B,CACxC,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,KAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAUgC,CACxC,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,SDj8DNC,GAA4B,CC+d4B,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,KAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA+nB0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA8d0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CAAC,OACR,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,OACR,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,OACR,MAAO,CAAC,QA+DkD,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,OACxC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,QAkBkD,CAC1D,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,QAC9C,MAAO,CAAC,CAAC,MAAO,UDz7DdC,GAAwB,CAJ6B,CACvD,IAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MC+7DhD,CACxC,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CA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","file":"pyright-main-fbd1b969112a733566b7.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/src/device/device.ts b/src/device/device.ts index 9373b01a3..9e9396b25 100644 --- a/src/device/device.ts +++ b/src/device/device.ts @@ -133,6 +133,8 @@ export interface ConnectOptions { serial?: boolean; } +export type BoardVersion = "V1" | "V2"; + export interface DeviceConnection extends EventEmitter { status: ConnectionStatus; @@ -153,6 +155,13 @@ export interface DeviceConnection extends EventEmitter { */ connect(options?: ConnectOptions): Promise; + /** + * Get the board version. + * + * @returns the board version or null if there is no connection. + */ + getBoardVersion(): BoardVersion | null; + /** * Flash the micro:bit. * diff --git a/src/device/mock.ts b/src/device/mock.ts index 2b722b2af..5854ea616 100644 --- a/src/device/mock.ts +++ b/src/device/mock.ts @@ -4,6 +4,7 @@ * SPDX-License-Identifier: MIT */ import { + BoardVersion, ConnectionStatus, DeviceConnection, EVENT_FLASH, @@ -62,6 +63,10 @@ export class MockDeviceConnection return this.status; } + getBoardVersion(): BoardVersion | null { + return "V2"; + } + /** * Flash the micro:bit. * diff --git a/src/device/simulator.ts b/src/device/simulator.ts index e5772974e..6304a232b 100644 --- a/src/device/simulator.ts +++ b/src/device/simulator.ts @@ -6,6 +6,7 @@ import EventEmitter from "events"; import { Logging } from "../logging/logging"; import { + BoardVersion, ConnectionStatus, DeviceConnection, EVENT_FLASH, @@ -262,6 +263,10 @@ export class SimulatorDeviceConnection return this.status; } + getBoardVersion(): BoardVersion | null { + return "V2"; + } + async flash( dataSource: FlashDataSource, options: { diff --git a/src/device/webusb.ts b/src/device/webusb.ts index 53a858c11..bd6e37fac 100644 --- a/src/device/webusb.ts +++ b/src/device/webusb.ts @@ -10,6 +10,7 @@ import { withTimeout, TimeoutError } from "./async-util"; import { DAPWrapper } from "./dap-wrapper"; import { PartialFlashing } from "./partial-flashing"; import { + BoardVersion, ConnectionStatus, ConnectOptions, DeviceConnection, @@ -172,6 +173,14 @@ export class MicrobitWebUSBConnection }); } + getBoardVersion(): BoardVersion | null { + if (!this.connection) { + return null; + } + const boardId = this.connection.boardSerialInfo.id; + return boardId.isV1() ? "V1" : boardId.isV2() ? "V2" : null; + } + async flash( dataSource: FlashDataSource, options: { @@ -297,7 +306,6 @@ export class MicrobitWebUSBConnection } finally { this.connection = undefined; this.setStatus(ConnectionStatus.NOT_CONNECTED); - this.logging.log("Disconnection complete"); this.logging.event({ type: "WebUSB-info", diff --git a/src/editor/EditorContainer.tsx b/src/editor/EditorContainer.tsx index 3e5ad643d..bb21a25ac 100644 --- a/src/editor/EditorContainer.tsx +++ b/src/editor/EditorContainer.tsx @@ -3,6 +3,7 @@ * * SPDX-License-Identifier: MIT */ +import { useCallback } from "react"; import { useProjectFileText } from "../project/project-hooks"; import { useSettings } from "../settings/settings"; import { WorkbenchSelection } from "../workbench/use-selection"; @@ -18,7 +19,10 @@ interface EditorContainerProps { * and wires it to the currently open file. */ const EditorContainer = ({ selection }: EditorContainerProps) => { - const [settings] = useSettings(); + const [settings, setSettings] = useSettings(); + const disableV2OnlyFeaturesWarning = useCallback(() => { + setSettings({ ...settings, warnForApiUnsupportedByDevice: false }); + }, [setSettings, settings]); // Note fileInfo is not updated for ordinary text edits. const [fileInfo, onFileChange] = useProjectFileText(selection.file); if (fileInfo === undefined) { @@ -36,6 +40,8 @@ const EditorContainer = ({ selection }: EditorContainerProps) => { fontSize={settings.fontSize} codeStructureOption={settings.codeStructureHighlight} parameterHelpOption={settings.parameterHelp} + warnOnV2OnlyFeatures={settings.warnForApiUnsupportedByDevice} + disableV2OnlyFeaturesWarning={disableV2OnlyFeaturesWarning} /> ); }; diff --git a/src/editor/codemirror/CodeMirror.tsx b/src/editor/codemirror/CodeMirror.tsx index 31d155dd1..05ec97999 100644 --- a/src/editor/codemirror/CodeMirror.tsx +++ b/src/editor/codemirror/CodeMirror.tsx @@ -40,6 +40,7 @@ import { languageServer } from "./language-server/view"; import { lintGutter } from "./lint/lint"; import { codeStructure } from "./structure-highlighting"; import themeExtensions from "./themeExtensions"; +import { useDevice } from "../../device/device-hooks"; interface CodeMirrorProps { className?: string; @@ -50,6 +51,8 @@ interface CodeMirrorProps { fontSize: number; codeStructureOption: CodeStructureOption; parameterHelpOption: ParameterHelpOption; + warnOnV2OnlyFeatures: boolean; + disableV2OnlyFeaturesWarning: () => void; } /** @@ -68,6 +71,8 @@ const CodeMirror = ({ fontSize, codeStructureOption, parameterHelpOption, + warnOnV2OnlyFeatures, + disableV2OnlyFeaturesWarning, }: CodeMirrorProps) => { // Really simple model for now as we only have one editor at a time. const [, setActiveEditor] = useActiveEditorActionsState(); @@ -81,6 +86,7 @@ const CodeMirror = ({ const actionFeedback = useActionFeedback(); const [sessionSettings, setSessionSettings] = useSessionSettings(); const { apiReferenceMap } = useDocumentation(); + const device = useDevice(); // Reset undo/redo events on file change. useEffect(() => { @@ -96,8 +102,9 @@ const CodeMirror = ({ fontSize, codeStructureOption, parameterHelpOption, + warnOnV2OnlyFeatures, }), - [fontSize, codeStructureOption, parameterHelpOption] + [fontSize, codeStructureOption, parameterHelpOption, warnOnV2OnlyFeatures] ); useEffect(() => { @@ -131,6 +138,7 @@ const CodeMirror = ({ client ? languageServer( client, + device, uri, intl, logging, @@ -141,6 +149,10 @@ const CodeMirror = ({ signatureHelp: { automatic: parameterHelpOption === "automatic", }, + warnOnV2OnlyFeatures: options.warnOnV2OnlyFeatures, + }, + { + disableV2OnlyFeaturesWarning, } ) : [], @@ -172,6 +184,8 @@ const CodeMirror = ({ parameterHelpOption, uri, apiReferenceMap, + device, + disableV2OnlyFeaturesWarning, ]); useEffect(() => { // Do this separately as we don't want to destroy the view whenever options needed for initialization change. @@ -191,6 +205,7 @@ const CodeMirror = ({ client ? languageServer( client, + device, uri, intl, logging, @@ -199,6 +214,10 @@ const CodeMirror = ({ signatureHelp: { automatic: parameterHelpOption === "automatic", }, + warnOnV2OnlyFeatures: options.warnOnV2OnlyFeatures, + }, + { + disableV2OnlyFeaturesWarning, } ) : [], @@ -215,6 +234,8 @@ const CodeMirror = ({ logging, uri, apiReferenceMap, + device, + disableV2OnlyFeaturesWarning, ]); const { location } = selection; diff --git a/src/editor/codemirror/language-server/diagnostics.ts b/src/editor/codemirror/language-server/diagnostics.ts index f0f2dd50c..6ab91c1fb 100644 --- a/src/editor/codemirror/language-server/diagnostics.ts +++ b/src/editor/codemirror/language-server/diagnostics.ts @@ -5,8 +5,12 @@ */ import { Text } from "@codemirror/state"; import * as LSP from "vscode-languageserver-protocol"; -import { Diagnostic } from "../lint/lint"; +import { Action, Diagnostic } from "../lint/lint"; import { positionToOffset } from "./positions"; +import { DeviceConnection } from "../../../device/device"; + +const reportMicrobitVersionApiUnsupported = + "reportMicrobitVersionApiUnsupported"; const severityMapping = { [LSP.DiagnosticSeverity.Error]: "error", @@ -17,10 +21,22 @@ const severityMapping = { export const diagnosticsMapping = ( document: Text, - lspDiagnostics: LSP.Diagnostic[] + lspDiagnostics: LSP.Diagnostic[], + device: DeviceConnection, + warnOnV2OnlyFeatures: boolean, + warnOnV2OnlyFeaturesAction: () => Action ): Diagnostic[] => lspDiagnostics - .map(({ range, message, severity, tags }): Diagnostic | undefined => { + .map(({ range, message, severity, tags, code }): Diagnostic | undefined => { + // Only show warnings for using V2 API features if a V1 board is connected + // and warnOnV2OnlyFeatures setting is on. + if ( + code === reportMicrobitVersionApiUnsupported && + (!warnOnV2OnlyFeatures || device.getBoardVersion() !== "V1") + ) { + return undefined; + } + let from = positionToOffset(document, range.start); let to = positionToOffset(document, range.end); // Skip if we can't map to the current document. @@ -32,6 +48,10 @@ export const diagnosticsMapping = ( severity: severityMapping[severity ?? LSP.DiagnosticSeverity.Warning], message, tags: tags ? tags.map(convertTag) : undefined, + actions: + code === reportMicrobitVersionApiUnsupported + ? [warnOnV2OnlyFeaturesAction()] + : [], }; } return undefined; diff --git a/src/editor/codemirror/language-server/view.ts b/src/editor/codemirror/language-server/view.ts index 10de68359..a500db581 100644 --- a/src/editor/codemirror/language-server/view.ts +++ b/src/editor/codemirror/language-server/view.ts @@ -10,11 +10,12 @@ import * as LSP from "vscode-languageserver-protocol"; import { ApiReferenceMap } from "../../../documentation/mapping/content"; import { LanguageServerClient } from "../../../language-server/client"; import { Logging } from "../../../logging/logging"; -import { setDiagnostics } from "../lint/lint"; +import { Action, setDiagnostics } from "../lint/lint"; import { autocompletion } from "./autocompletion"; import { BaseLanguageServerView, clientFacet, uriFacet } from "./common"; import { diagnosticsMapping } from "./diagnostics"; import { signatureHelp } from "./signatureHelp"; +import { DeviceConnection, EVENT_STATUS } from "../../../device/device"; /** * The main extension. This synchronises the diagnostics between the client @@ -26,16 +27,45 @@ class LanguageServerView extends BaseLanguageServerView implements PluginValue { if (params.uri === this.uri) { const diagnostics = diagnosticsMapping( this.view.state.doc, - params.diagnostics + params.diagnostics, + this.device, + this.warnOnV2OnlyFeatures, + this.warnOnV2OnlyFeaturesAction ); this.view.dispatch(setDiagnostics(this.view.state, diagnostics)); } }; private destroyed = false; - constructor(view: EditorView) { + private onDeviceStatusChanged = () => { + const diagnostics = diagnosticsMapping( + this.view.state.doc, + this.client.allDiagnostics(), + this.device, + this.warnOnV2OnlyFeatures, + this.warnOnV2OnlyFeaturesAction + ); + this.view.dispatch(setDiagnostics(this.view.state, diagnostics)); + }; + private warnOnV2OnlyFeaturesAction = (): Action => { + return { + name: this.intl.formatMessage({ id: "warn-on-v2-only-features-action" }), + apply: () => { + this.disableV2OnlyFeaturesWarning(); + }, + }; + }; + + constructor( + view: EditorView, + private device: DeviceConnection, + private intl: IntlShape, + private warnOnV2OnlyFeatures: boolean, + private disableV2OnlyFeaturesWarning: () => void + ) { super(view); this.client.on("diagnostics", this.diagnosticsListener); + this.device.on(EVENT_STATUS, this.onDeviceStatusChanged); // Is there a better way to do this? We can 't dispatch at this point. // It would be best to do this with initial state and avoid the dispatch. @@ -43,7 +73,10 @@ class LanguageServerView extends BaseLanguageServerView implements PluginValue { if (!this.destroyed) { const diagnostics = diagnosticsMapping( view.state.doc, - this.client.currentDiagnostics(this.uri) + this.client.currentDiagnostics(this.uri), + device, + warnOnV2OnlyFeatures, + this.warnOnV2OnlyFeaturesAction ); view.dispatch(setDiagnostics(view.state, diagnostics)); } @@ -63,6 +96,7 @@ class LanguageServerView extends BaseLanguageServerView implements PluginValue { destroy() { this.destroyed = true; this.client.removeListener("diagnostics", this.diagnosticsListener); + this.device.removeListener(EVENT_STATUS, this.onDeviceStatusChanged); // We don't own the client/connection which might outlive us, just our notifications. } } @@ -71,6 +105,11 @@ interface Options { signatureHelp: { automatic: boolean; }; + warnOnV2OnlyFeatures: boolean; +} + +interface Actions { + disableV2OnlyFeaturesWarning: () => void; } /** @@ -84,16 +123,27 @@ interface Options { */ export function languageServer( client: LanguageServerClient, + device: DeviceConnection, uri: string, intl: IntlShape, logging: Logging, apiReferenceMap: ApiReferenceMap, - options: Options + options: Options, + actions: Actions ) { return [ uriFacet.of(uri), clientFacet.of(client), - ViewPlugin.define((view) => new LanguageServerView(view)), + ViewPlugin.define( + (view) => + new LanguageServerView( + view, + device, + intl, + options.warnOnV2OnlyFeatures, + actions.disableV2OnlyFeaturesWarning + ) + ), signatureHelp(intl, options.signatureHelp.automatic, apiReferenceMap), autocompletion(intl, logging, apiReferenceMap), ]; diff --git a/src/editor/codemirror/themeExtensions.ts b/src/editor/codemirror/themeExtensions.ts index aabb86627..8b1918cff 100644 --- a/src/editor/codemirror/themeExtensions.ts +++ b/src/editor/codemirror/themeExtensions.ts @@ -108,6 +108,20 @@ export const themeExtensions = (fontSize: string) => { // This used to be the default until https://github.com/codemirror/view/commit/a2d7f9111872fe61ffad8fd3ea371a7a41650da6 padding: "0 2px 0 4px", }, + ".cm-diagnosticAction": { + marginLeft: 0, + display: "block", + backgroundColor: "unset", + color: "var(--chakra-colors-brand-600)", + fontSize: "0.9em", + marginTop: "0.2em", + }, + ".cm-diagnosticAction:hover": { + textDecoration: "underline", + }, + "ul:focus [aria-selected] .cm-diagnosticAction": { + color: "var(--chakra-colors-gray-100)", + }, }); }; diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index 7f7e569e8..1c1ada287 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -12,7 +12,7 @@ import { baseUrl } from "../base"; import { createUri, LanguageServerClient } from "./client"; // This is modified by bin/update-pyright.sh -const workerScriptName = "pyright-main-fbd1b969112a733566b7.worker.js"; +const workerScriptName = "pyright-main-382ffb2ee9671656ad85.worker.js"; // Very simple cache to avoid React re-creating pointlessly in development. let counter = 0; diff --git a/src/messages/ui.ca.json b/src/messages/ui.ca.json index a789f7519..f7e96d69f 100644 --- a/src/messages/ui.ca.json +++ b/src/messages/ui.ca.json @@ -1669,6 +1669,18 @@ "value": "Canviar mòduls de tercers pot significar que no funcionin com s'havia previst." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2387,6 +2399,12 @@ "value": "visita microbit.org (s'obre en una pestanya nova)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index b4e57babe..df0ede71f 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -1743,6 +1743,18 @@ "value": "Wenn du Module von Drittanbietern änderst, kann es sein, dass sie nicht mehr wie vorgesehen funktionieren." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2469,6 +2481,12 @@ "value": "besuche microbit.org (öffnet in neuen Tab)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.en.json b/src/messages/ui.en.json index 0b5f4dff4..6ad55af7d 100644 --- a/src/messages/ui.en.json +++ b/src/messages/ui.en.json @@ -1703,6 +1703,18 @@ "value": "Changing third-party modules may mean they don’t work as intended." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2421,6 +2433,12 @@ "value": "visit microbit.org (opens in a new tab)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, @@ -2430,7 +2448,7 @@ "webusb-error-clear-connect-description-2": [ { "type": 0, - "value": "Close any other pages or tabs that may be using WebUSB (e.g. MakeCode, Python Editor), or unplug and replug the micro:bit before trying again." + "value": "Close any other tabs that may be using WebUSB (e.g. MakeCode, Python Editor), or unplug and replug the micro:bit before trying again." } ], "webusb-error-clear-connect-title": [ diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index 16521d834..81c431adc 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -1703,6 +1703,18 @@ "value": "Cambiar los módulos de terceros puede provocar que no funcionen como deberían." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2413,6 +2425,12 @@ "value": "visitar microbit.org (abre en una nueva pestaña)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.fr.json b/src/messages/ui.fr.json index c4ec989fe..f174d9469 100644 --- a/src/messages/ui.fr.json +++ b/src/messages/ui.fr.json @@ -1703,6 +1703,18 @@ "value": "La modification de modules tiers peut empêcher leur bon fonctionnement." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2413,6 +2425,12 @@ "value": "visiter microbit.org (s’ouvre dans un nouvel onglet)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, @@ -2491,4 +2509,4 @@ "value": "Zoom arrière" } ] -} \ No newline at end of file +} diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 2835a439d..4b30cfa8b 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -1696,6 +1696,18 @@ "value": "サードパーティ製モジュールを変更すると、意図した通りに動作しない可能性があります。" } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2415,6 +2427,12 @@ "value": "microbit.orgにアクセスします(新しいタブで開きます)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index 60055a44e..ed776b78e 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -1711,6 +1711,18 @@ "value": "서드파티 모듈을 변경하면 모듈이 의도대로 작동하지 않을 수 있습니다." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2409,6 +2421,12 @@ "value": "microbit.org 방문(새 탭에서 열기)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.lol.json b/src/messages/ui.lol.json index 154142bc7..bd12a3c0e 100644 --- a/src/messages/ui.lol.json +++ b/src/messages/ui.lol.json @@ -1331,6 +1331,18 @@ "value": "crwdns331722:0crwdne331722:0" } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -1979,6 +1991,12 @@ "value": "crwdns331784:0crwdne331784:0" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, @@ -2009,18 +2027,6 @@ "value": "crwdns331794:0crwdne331794:0" } ], - "webusb-error-update-req-description": [ - { - "type": 0, - "value": "crwdns331796:0crwdne331796:0" - } - ], - "webusb-error-update-req-title": [ - { - "type": 0, - "value": "crwdns331798:0crwdne331798:0" - } - ], "webusb-not-supported": [ { "type": 0, diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index b55ab54dd..fe7920baa 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -1726,6 +1726,18 @@ "value": "Wijzigen van modules van derden kan betekenen dat ze niet werken zoals bedoeld." } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2456,6 +2468,12 @@ "value": "bezoek microbit.org (opent in een nieuw tabblad)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index 6c57d2d5a..43b5f8b6e 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -1696,6 +1696,18 @@ "value": "更改第三方模块可能意味着它们无法按预期工作。" } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2422,6 +2434,12 @@ "value": "访问 microbit.org (在新标签页中打开)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index cf35b26e6..cef9e10e8 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -1703,6 +1703,18 @@ "value": "變更第三方模組,可能代表它們無法按預期運作。" } ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Show warnings about V2-only features" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + } + ], "settings": [ { "type": 0, @@ -2421,6 +2433,12 @@ "value": "造訪 microbit.org (在新索引標籤中開啟)" } ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Disable warnings about V2-only features" + } + ], "webusb-error-clear-connect-description-1": [ { "type": 0, diff --git a/src/settings/SettingsArea.tsx b/src/settings/SettingsArea.tsx index 528d064d5..7d90e8b30 100644 --- a/src/settings/SettingsArea.tsx +++ b/src/settings/SettingsArea.tsx @@ -121,6 +121,23 @@ const SettingsArea = () => { }) } /> + + { + setSettings({ + ...settings, + warnForApiUnsupportedByDevice: event.currentTarget.checked, + }); + }} + > + + + + + + void]; +export type SettingsContextValue = [Settings, (settings: Settings) => void]; const SettingsContext = createContext( undefined From 37da34fc199501588e4bce9ff63b15f41f55391a Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Tue, 28 May 2024 14:22:22 +0100 Subject: [PATCH 06/19] Audit fixes (#1183) --- package-lock.json | 222 +++++++++++++++++++++++----------------------- 1 file changed, 111 insertions(+), 111 deletions(-) diff --git a/package-lock.json b/package-lock.json index adae44e9a..4129e5441 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1985,9 +1985,9 @@ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", "cpu": [ "ppc64" ], @@ -5435,9 +5435,9 @@ } }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -8618,9 +8618,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -8638,7 +8638,7 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -9304,9 +9304,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -9885,13 +9885,13 @@ } }, "node_modules/vite": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz", - "integrity": "sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", + "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" @@ -9975,9 +9975,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], @@ -9990,9 +9990,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], @@ -10005,9 +10005,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], @@ -10020,9 +10020,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], @@ -10035,9 +10035,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], @@ -10050,9 +10050,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], @@ -10065,9 +10065,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], @@ -10080,9 +10080,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], @@ -10095,9 +10095,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], @@ -10110,9 +10110,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], @@ -10125,9 +10125,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], @@ -10140,9 +10140,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], @@ -10155,9 +10155,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], @@ -10170,9 +10170,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], @@ -10185,9 +10185,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], @@ -10200,9 +10200,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], @@ -10215,9 +10215,9 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], @@ -10230,9 +10230,9 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], @@ -10245,9 +10245,9 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], @@ -10260,9 +10260,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], @@ -10275,9 +10275,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], @@ -10290,9 +10290,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], @@ -10305,9 +10305,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -10316,29 +10316,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, "node_modules/vitest": { From b727b8aa6b71029f75b656a0c6e952341bc2c672 Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Tue, 28 May 2024 15:35:03 +0100 Subject: [PATCH 07/19] Enable the simulator service worker on beta/staging (#1181) This is experimental at this point and is part of investigating PWA support for the micro:bit Python Editor. --- src/simulator/Simulator.tsx | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/simulator/Simulator.tsx b/src/simulator/Simulator.tsx index 47b30cf60..3ad2a1446 100644 --- a/src/simulator/Simulator.tsx +++ b/src/simulator/Simulator.tsx @@ -11,7 +11,7 @@ import { useToken, VStack, } from "@chakra-ui/react"; -import { useEffect, useRef, useState } from "react"; +import { useEffect, useMemo, useRef, useState } from "react"; import { IntlShape, useIntl } from "react-intl"; import HideSplitViewButton from "../common/SplitView/HideSplitViewButton"; import { topBarHeight } from "../deployment/misc"; @@ -43,14 +43,20 @@ const Simulator = ({ minWidth, simFocus, }: SimulatorProps) => { - const production = - "https://python-simulator.usermbit.org/v/0.1/simulator.html"; - const staging = - "https://python-simulator.usermbit.org/staging/simulator.html"; - const url = stage === "PRODUCTION" ? production : staging; - // For testing with sim branches: - //const branch = "upgrade-mpy"; - //const url = `https://review-python-simulator.usermbit.org/${branch}/simulator.html`; + const [brand500] = useToken("colors", ["brand.500"]); + const url = useMemo(() => { + const production = + "https://python-simulator.usermbit.org/v/0.1/simulator.html"; + const staging = + "https://python-simulator.usermbit.org/staging/simulator.html?flag=sw"; + + // For testing with sim branches: + //const branch = "upgrade-mpy"; + //const url = new URL(`https://review-python-simulator.usermbit.org/${branch}/simulator.html`); + const url = new URL(stage === "PRODUCTION" ? production : staging); + url.searchParams.append("color", brand500); + return url.toString(); + }, [brand500]); const ref = useRef(null); const intl = useIntl(); @@ -72,7 +78,6 @@ const Simulator = ({ updateTranslations(simulator.current, intl); }, [simulator, intl]); const simControlsRef = useRef(null); - const [brand500] = useToken("colors", ["brand.500"]); const [running, setRunning] = useState(RunningStatus.STOPPED); const previouslyShown = usePrevious(shown); @@ -117,7 +122,7 @@ const Simulator = ({ Date: Thu, 30 May 2024 09:32:30 +0100 Subject: [PATCH 08/19] PWA functionality including offline mode (featured flagged) (#1170) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Notable behaviours: - Fallback to English when changing language offline (when the selected language assets aren’t cached). - Shows image placeholders for uncached images when offline. - The app will automatically trigger a page reload when it detects the service worker has been updated. The service worker is updated when any of the build assets are updated. There are two levels of feature gating: - It's only enabled for microbit-foundation builds to avoid others shipping it accidentally. You can change FEATURE_PWA in the build to change this. We're open to a better system of build-time feature flags if there's interest (at least allowing existing env vars to override would make sense). - There's a client side feature flag. You have to set this via `localStorage.setItem("flags", "pwa")` for now if you want to test an actual PWA install. We'll default that flag on to release to the beta after building more confidence internally. Known issues: - The app name is too long for the iOS home screen and is truncated by eliding the space between micro:bit and Python then a .... It works fine when you open it. We'll discuss whether it's reasonable to address this or live with it. It doesn't seem to be related to the colon in micro:bit and the user can customise the app name. --- .github/workflows/build.yml | 2 + index.html | 5 + lang/ui.ca.json | 4 + lang/ui.de.json | 4 + lang/ui.en.json | 4 + lang/ui.es-es.json | 4 + lang/ui.fr.json | 4 + lang/ui.ja.json | 4 + lang/ui.ko.json | 4 + lang/ui.nl.json | 4 + lang/ui.zh-cn.json | 4 + lang/ui.zh-tw.json | 4 + package-lock.json | 2557 ++++++++++++++++- package.json | 1 + public/logo192.png | Bin 5347 -> 5607 bytes public/logo512.png | Bin 9664 -> 15813 bytes src/common/chunk-util.ts | 6 + src/common/sanity.ts | 14 +- src/documentation/OfflineImageFallback.tsx | 35 + .../common/DocumentationContent.tsx | 20 +- .../common/DocumentationIcon.tsx | 20 +- src/documentation/ideas/IdeaCard.tsx | 9 +- .../ideas/IdeasDocumentation.tsx | 16 +- src/documentation/offline.svg | 1 + src/flags.ts | 16 + src/index.tsx | 52 + src/language-server/client.ts | 39 +- src/language-server/error-util.ts | 27 + src/language-server/language-server-hooks.tsx | 6 +- src/language-server/pyright.ts | 11 +- src/messages/TranslationProvider.tsx | 21 +- src/messages/ui.ca.json | 6 + src/messages/ui.de.json | 6 + src/messages/ui.en.json | 6 + src/messages/ui.es-es.json | 6 + src/messages/ui.fr.json | 6 + src/messages/ui.ja.json | 6 + src/messages/ui.ko.json | 6 + src/messages/ui.nl.json | 6 + src/messages/ui.zh-cn.json | 6 + src/messages/ui.zh-tw.json | 6 + src/settings/settings.tsx | 4 + src/simulator/Simulator.tsx | 2 +- tsconfig.json | 3 +- vite.config.ts | 141 +- 45 files changed, 2934 insertions(+), 174 deletions(-) create mode 100644 src/documentation/OfflineImageFallback.tsx create mode 100644 src/documentation/offline.svg diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f5797c28..f1d130bcc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,8 @@ jobs: STAGING_CLOUDFRONT_DISTRIBUTION_ID: E2ELTBTA2OFPY2 REVIEW_CLOUDFRONT_DISTRIBUTION_ID: E3267W09ZJHQG9 VITE_FOUNDATION_BUILD: ${{ github.repository_owner == 'microbit-foundation' }} + # This feature is also controlled by a client-side feature flag that is disabled by default for the moment + FEATURE_PWA: ${{ github.repository_owner == 'microbit-foundation' }} steps: # Note: This workflow disables deployment steps and micro:bit branding installation on forks. diff --git a/index.html b/index.html index 9037b7050..1104a98db 100644 --- a/index.html +++ b/index.html @@ -3,9 +3,14 @@ + micro:bit Python Editor + actualitzar el teu microprogramari abans de poder connectar amb aquesta micro:bit.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Obert", "description": "Open button text" diff --git a/lang/ui.de.json b/lang/ui.de.json index d3650bc9b..a6b761bdd 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -510,6 +510,10 @@ "defaultMessage": "Du musst die Firmware aktualisieren, bevor eine Verbindung zu diesem micro:bit hergestellt werden kann.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Öffnen", "description": "Open button text" diff --git a/lang/ui.en.json b/lang/ui.en.json index c863be945..74d3435be 100644 --- a/lang/ui.en.json +++ b/lang/ui.en.json @@ -511,6 +511,10 @@ "defaultMessage": "You must update your firmware before you can connect to this micro:bit.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Open", "description": "Open button text" diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index a0965c8d9..4e8f01325 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -510,6 +510,10 @@ "defaultMessage": "Debes actualizar el firmware para poder conectar a este micro:bit.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Abrir", "description": "Open button text" diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 186123602..2aaba3235 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -510,6 +510,10 @@ "defaultMessage": "Vous devez mettre à jour le micrologiciel avant de pouvoir vous connecter à ce micro:bit.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Ouvrir", "description": "Open button text" diff --git a/lang/ui.ja.json b/lang/ui.ja.json index 40299f50e..5003a0560 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -510,6 +510,10 @@ "defaultMessage": "このmicro:bitに接続するには、ファームウェアを更新する必要があります。", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "開く", "description": "Open button text" diff --git a/lang/ui.ko.json b/lang/ui.ko.json index f1f783615..b031433cd 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -510,6 +510,10 @@ "defaultMessage": "이 micro:bit에 연결하기 전에 펌웨어를 업데이트해야 합니다.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "열기", "description": "Open button text" diff --git a/lang/ui.nl.json b/lang/ui.nl.json index c7b1c834e..c926baea2 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -510,6 +510,10 @@ "defaultMessage": "Je moet firmware updaten voordat je verbinding kan maken met deze micro:bit.", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "Open", "description": "Open button text" diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index f98a1a80a..e27cd51b6 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -510,6 +510,10 @@ "defaultMessage": "您必须 update your firmware before 才能连接到此 micro:bit。", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "打开", "description": "Open button text" diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index 82f0d8964..6a63464dc 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -510,6 +510,10 @@ "defaultMessage": "您必須更新您的韌體,然後才能連線至此 micro:bit。", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "Image unavailable offline", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "開啟", "description": "Open button text" diff --git a/package-lock.json b/package-lock.json index 4129e5441..82b040556 100644 --- a/package-lock.json +++ b/package-lock.json @@ -83,6 +83,7 @@ "playwright": "^1.42.1", "prettier": "2.3.2", "typescript": "^5.4.2", + "vite-plugin-pwa": "^0.19.8", "vite-plugin-svgr": "^4.2.0", "vitest": "^1.3.1" }, @@ -132,9 +133,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -197,6 +198,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", @@ -214,9 +227,9 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -224,7 +237,7 @@ "@babel/helper-function-name": "^7.23.0", "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -236,6 +249,39 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", @@ -276,191 +322,1306 @@ "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", - "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -469,28 +1630,109 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "node_modules/@babel/preset-env": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -499,14 +1741,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { "node": ">=6.9.0" }, @@ -514,6 +1753,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", @@ -2676,7 +3935,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2690,7 +3949,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6.0.0" } @@ -2699,22 +3958,32 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "devOptional": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "devOptional": true }, "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==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3069,6 +4338,27 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -3753,6 +5043,15 @@ "@types/react": "*" } }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", @@ -4329,7 +5628,7 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, + "devOptional": true, "bin": { "acorn": "bin/acorn" }, @@ -4618,6 +5917,15 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -4647,6 +5955,45 @@ "npm": ">=6" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -4740,6 +6087,24 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -5122,7 +6487,16 @@ "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, "engines": { - "node": "^12.20.0 || >=14" + "node": "^12.20.0 || >=14" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" } }, "node_modules/compute-scroll-into-view": { @@ -5150,6 +6524,19 @@ "toggle-selection": "^1.0.6" } }, + "node_modules/core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -5202,6 +6589,15 @@ "node": ">= 8" } }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/css-box-model": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", @@ -5332,6 +6728,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -6365,6 +7770,30 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "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", @@ -6464,6 +7893,12 @@ "node": ">=6" } }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -6748,6 +8183,12 @@ "node": ">=0.10.0" } }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -7034,6 +8475,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -7070,6 +8517,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -7101,6 +8557,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-set": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", @@ -7790,6 +9255,41 @@ "node": ">=8" } }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/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/jest-worker/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/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7870,6 +9370,12 @@ "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==" }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -7900,6 +9406,36 @@ "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, + "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, + "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, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.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", @@ -7924,6 +9460,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -8665,6 +10210,18 @@ "node": ">=10.13.0" } }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -8748,6 +10305,15 @@ } ] }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -8979,11 +10545,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -9002,6 +10595,53 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -9135,6 +10775,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", @@ -9187,6 +10847,15 @@ "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -9311,6 +10980,32 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -9421,6 +11116,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -9433,6 +11142,15 @@ "node": ">=8" } }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -9519,17 +11237,92 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "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 + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "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 + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", + "devOptional": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true }, "node_modules/text-encoder-lite": { "version": "2.0.0", @@ -9785,6 +11578,58 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", @@ -9794,6 +11639,16 @@ "node": ">= 4.0.0" } }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -9960,6 +11815,36 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/vite-plugin-pwa": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.19.8.tgz", + "integrity": "sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "pretty-bytes": "^6.1.1", + "workbox-build": "^7.0.0", + "workbox-window": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.4", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.0.0", + "workbox-window": "^7.0.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } + } + }, "node_modules/vite-plugin-svgr": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", @@ -10603,6 +12488,412 @@ "node": ">=8" } }, + "node_modules/workbox-background-sync": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.0.0.tgz", + "integrity": "sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.0.0.tgz", + "integrity": "sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-build": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.0.0.tgz", + "integrity": "sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.0.0", + "workbox-broadcast-update": "7.0.0", + "workbox-cacheable-response": "7.0.0", + "workbox-core": "7.0.0", + "workbox-expiration": "7.0.0", + "workbox-google-analytics": "7.0.0", + "workbox-navigation-preload": "7.0.0", + "workbox-precaching": "7.0.0", + "workbox-range-requests": "7.0.0", + "workbox-recipes": "7.0.0", + "workbox-routing": "7.0.0", + "workbox-strategies": "7.0.0", + "workbox-streams": "7.0.0", + "workbox-sw": "7.0.0", + "workbox-window": "7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.0.0.tgz", + "integrity": "sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.0.0.tgz", + "integrity": "sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.0.0.tgz", + "integrity": "sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.0.0.tgz", + "integrity": "sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "dev": true, + "dependencies": { + "workbox-background-sync": "7.0.0", + "workbox-core": "7.0.0", + "workbox-routing": "7.0.0", + "workbox-strategies": "7.0.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.0.0.tgz", + "integrity": "sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-precaching": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.0.0.tgz", + "integrity": "sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0", + "workbox-routing": "7.0.0", + "workbox-strategies": "7.0.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.0.0.tgz", + "integrity": "sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-recipes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.0.0.tgz", + "integrity": "sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "7.0.0", + "workbox-core": "7.0.0", + "workbox-expiration": "7.0.0", + "workbox-precaching": "7.0.0", + "workbox-routing": "7.0.0", + "workbox-strategies": "7.0.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.0.0.tgz", + "integrity": "sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.0.0.tgz", + "integrity": "sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.0.0.tgz", + "integrity": "sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.0.0", + "workbox-routing": "7.0.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.0.0.tgz", + "integrity": "sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.0.0.tgz", + "integrity": "sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.0.0" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 178762974..81e502411 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "playwright": "^1.42.1", "prettier": "2.3.2", "typescript": "^5.4.2", + "vite-plugin-pwa": "^0.19.8", "vite-plugin-svgr": "^4.2.0", "vitest": "^1.3.1" }, diff --git a/public/logo192.png b/public/logo192.png index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..23274b9f8e1e5fe704ba00e4859e480efaef51a8 100644 GIT binary patch literal 5607 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 literal 5347 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 X@eDJUQo;Ye2mwlRsItHSk!~sd^Mnby7pwmOQ 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 literal 9664 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/src/common/chunk-util.ts b/src/common/chunk-util.ts index b8fb8b18e..8a4c75024 100644 --- a/src/common/chunk-util.ts +++ b/src/common/chunk-util.ts @@ -1,3 +1,5 @@ +import { OfflineError } from "../language-server/error-util"; + /** * (c) 2022, Micro:bit Educational Foundation and contributors * @@ -18,6 +20,10 @@ export const retryAsyncLoad = async ( // Must await here! return await load(); } catch (e) { + // If the user is offline, bail immediately. + if (!navigator.onLine) { + throw new OfflineError(); + } if (attempts === 4) { throw e; } diff --git a/src/common/sanity.ts b/src/common/sanity.ts index c8edad7eb..d7dd4e5a0 100644 --- a/src/common/sanity.ts +++ b/src/common/sanity.ts @@ -48,11 +48,15 @@ export const fetchContent = async ( query: (languageId: string) => string, adaptContent: (result: any) => T | undefined ): Promise => { - const preferred = adaptContent( - await fetchContentInternal(query(sanityLanguageId(languageId))) - ); - if (preferred) { - return preferred; + try { + const preferred = adaptContent( + await fetchContentInternal(query(sanityLanguageId(languageId))) + ); + if (preferred) { + return preferred; + } + } catch (err) { + // Fall through to fallback without crashing if user is offline. } const fallback = adaptContent(await fetchContentInternal(query("en"))); if (!fallback) { diff --git a/src/documentation/OfflineImageFallback.tsx b/src/documentation/OfflineImageFallback.tsx new file mode 100644 index 000000000..dfc1ec129 --- /dev/null +++ b/src/documentation/OfflineImageFallback.tsx @@ -0,0 +1,35 @@ +import { BoxProps, Image, Text, VStack } from "@chakra-ui/react"; +import offlinePlaceholder from "./offline.svg"; +import { FormattedMessage, useIntl } from "react-intl"; + +interface OfflineImageFallbackProps extends BoxProps { + useIcon?: boolean; +} + +const OfflineImageFallback = ({ + useIcon = false, + width, + ...props +}: OfflineImageFallbackProps) => { + const intl = useIntl(); + return ( + <> + {useIcon ? ( + {intl.formatMessage({ + ) : ( + + + + + + )} + + ); +}; + +export default OfflineImageFallback; diff --git a/src/documentation/common/DocumentationContent.tsx b/src/documentation/common/DocumentationContent.tsx index a5d099bad..768076686 100644 --- a/src/documentation/common/DocumentationContent.tsx +++ b/src/documentation/common/DocumentationContent.tsx @@ -21,6 +21,7 @@ import { } from "../reference/model"; import CodeEmbed from "./CodeEmbed"; import { decorateWithCollapseNodes } from "./collapse-util"; +import OfflineImageFallback from "../OfflineImageFallback"; export const enum DocumentationCollapseMode { ShowAll, @@ -202,6 +203,15 @@ const serializers = { ), simpleImage: (props: SerializerNodeProps) => { + const imageProps = { + width: 300, + borderRadius: "lg", + border: "solid 1px", + borderColor: "gray.300", + sx: { + aspectRatio: getAspectRatio(props.node.asset._ref), + }, + }; return ( } alt={props.node.alt} - width={300} - borderRadius="lg" - border="solid 1px" - borderColor="gray.300" - sx={{ - aspectRatio: getAspectRatio(props.node.asset._ref), - }} + {...imageProps} /> ); }, diff --git a/src/documentation/common/DocumentationIcon.tsx b/src/documentation/common/DocumentationIcon.tsx index 7aa5a6799..ac2c61e94 100644 --- a/src/documentation/common/DocumentationIcon.tsx +++ b/src/documentation/common/DocumentationIcon.tsx @@ -6,6 +6,7 @@ import { Image, ImageProps } from "@chakra-ui/react"; import { imageUrlBuilder } from "../../common/imageUrlBuilder"; import { SimpleImage } from "../../common/sanity"; +import OfflineImageFallback from "../OfflineImageFallback"; interface DocumentationIconProps extends ImageProps { icon: SimpleImage; @@ -18,14 +19,27 @@ const DocumentationIcon = ({ ...props }: DocumentationIconProps) => { const size = reduced ? "50px" : "80px"; + const imageProps = { + transition: "all .2s", + width: size, + height: size, + }; return ( + } alt="" - transition="all .2s" - width={size} - height={size} + {...imageProps} /> ); }; diff --git a/src/documentation/ideas/IdeaCard.tsx b/src/documentation/ideas/IdeaCard.tsx index 34155c014..2e0ed4620 100644 --- a/src/documentation/ideas/IdeaCard.tsx +++ b/src/documentation/ideas/IdeaCard.tsx @@ -8,6 +8,7 @@ import { Image } from "@chakra-ui/react"; import { imageUrlBuilder } from "../../common/imageUrlBuilder"; import { SimpleImage } from "../../common/sanity"; import DocumentationHeading from "../common/DocumentationHeading"; +import OfflineImageFallback from "../OfflineImageFallback"; interface IdeaCardProps { name: string; @@ -21,6 +22,10 @@ const IdeaCard = ({ name, image, isV2Only, onClick }: IdeaCardProps) => { outline: "none", boxShadow: "var(--chakra-shadows-outline)", }; + const imageProps = { + borderTopRadius: "lg", + width: 500, + }; return ( { _focus={focusStyles} > } alt="" + {...imageProps} /> 1100 ? 3 : contentWidth > 550 ? 2 : 1; if (activeIdea) { + const imageProps = { + borderTopRadius: "lg", + width: 600, + sx: { + aspectRatio: getAspectRatio(activeIdea.image.asset._ref), + }, + }; return ( {activeIdea.image && ( } alt="" - width={600} - sx={{ - aspectRatio: getAspectRatio(activeIdea.image.asset._ref), - }} + {...imageProps} /> )} diff --git a/src/documentation/offline.svg b/src/documentation/offline.svg new file mode 100644 index 000000000..77b86b623 --- /dev/null +++ b/src/documentation/offline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/flags.ts b/src/flags.ts index 677118bed..270cbe867 100644 --- a/src/flags.ts +++ b/src/flags.ts @@ -42,6 +42,13 @@ export type Flag = * the dialog for local development so is worth keeping for that use alone. */ | "noWelcome" + /** + * Enables PWA behaviours. + * + * Registers the service worker and enables offline use. + * Injects the webmanifest which allows installation. + */ + | "pwa" /** * Enables in-context Crowdin translating. */ @@ -60,6 +67,7 @@ const allFlags: FlagMetadata[] = [ { name: "noLang", defaultOnStages: [] }, { name: "translate", defaultOnStages: [] }, { name: "noWelcome", defaultOnStages: ["local", "REVIEW"] }, + { name: "pwa", defaultOnStages: [] }, ]; type Flags = Record; @@ -67,6 +75,14 @@ type Flags = Record; // Exposed for testing. export const flagsForParams = (stage: Stage, params: URLSearchParams) => { const enableFlags = new Set(params.getAll("flag")); + try { + localStorage + .getItem("flags") + ?.split(",") + ?.forEach((f) => enableFlags.add(f.trim())); + } catch (e) { + // Ignore if there are local storage security issues + } const allFlagsDefault = enableFlags.has("none") ? false : enableFlags.has("*") diff --git a/src/index.tsx b/src/index.tsx index 48edb877e..b5a372ef7 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -7,6 +7,58 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; import App from "./App"; import reportWebVitals from "./reportWebVitals"; +import { registerSW } from "virtual:pwa-register"; +import { flags } from "./flags"; +import { baseUrl } from "./base"; + +if (flags.pwa) { + registerSW({ + immediate: true, + // Cache runtime resources on first load. + // See https://github.com/GoogleChromeLabs/pwa-wp/issues/180. + onRegisteredSW(_, registration) { + // Inject webmanifest. + const link = document.createElement("link"); + link.rel = "manifest"; + link.href = `${baseUrl}manifest.webmanifest`; + document.head.appendChild(link); + + if (registration) { + registration.onupdatefound = function () { + const installingWorker = registration?.installing; + if (installingWorker) { + installingWorker.onstatechange = function () { + if ( + installingWorker.state === "activated" && + navigator.serviceWorker.controller + ) { + const urlsToCache = [ + location.href, + ...performance + .getEntriesByType("resource") + .map((r) => r.name), + ]; + installingWorker.postMessage({ + type: "CACHE_URLS", + payload: { urlsToCache }, + }); + } + }; + } + }; + } + }, + }); +} else { + // Clean up if we've disabled the flag + if ("serviceWorker" in navigator) { + navigator.serviceWorker.getRegistration().then((registration) => { + registration?.unregister().then(() => { + window.location.reload(); + }); + }); + } +} const root = createRoot(document.getElementById("root")!); root.render( diff --git a/src/language-server/client.ts b/src/language-server/client.ts index 83eb5c685..f8427d52f 100644 --- a/src/language-server/client.ts +++ b/src/language-server/client.ts @@ -30,7 +30,13 @@ import { } from "vscode-languageserver-protocol"; import { retryAsyncLoad } from "../common/chunk-util"; import { microPythonConfig } from "../micropython/micropython"; -import { isErrorDueToDispose } from "./error-util"; +import { + isErrorDueToDispose, + OfflineError, + showOfflineLanguageToast, +} from "./error-util"; +import { fallbackLocale } from "../settings/settings"; +import { CreateToastFnReturn } from "@chakra-ui/react"; /** * Create a URI for a source document under the default root of file:///src/. @@ -58,7 +64,8 @@ export class LanguageServerClient extends EventEmitter { constructor( public connection: MessageConnection, public locale: string, - public rootUri: string + public rootUri: string, + private toast: CreateToastFnReturn ) { super(); } @@ -178,7 +185,15 @@ export class LanguageServerClient extends EventEmitter { // This mostly happens due to React 18 strict mode but could happen due to language changes. return false; } - throw e; + if (!navigator.onLine) { + showOfflineLanguageToast(this.toast); + // Fallback to the precached locale if user is offline. + this.locale = fallbackLocale; + this.initializePromise = undefined; + this.initialize(); + } else { + throw e; + } } return true; })(); @@ -187,9 +202,21 @@ export class LanguageServerClient extends EventEmitter { private async getInitializationOptions(): Promise { const branch = microPythonConfig.stubs; - const typeshed = await retryAsyncLoad(() => { - return import(`../micropython/${branch}/typeshed.${this.locale}.json`); - }); + let typeshed; + try { + typeshed = await retryAsyncLoad(() => { + return import(`../micropython/${branch}/typeshed.${this.locale}.json`); + }); + } catch (err) { + if (err instanceof OfflineError) { + showOfflineLanguageToast(this.toast); + typeshed = await import( + `../micropython/${branch}/typeshed.${fallbackLocale}.json` + ); + } else { + throw err; + } + } return { // Shallow copy as it's an ESM that can't be serialized files: { files: typeshed.files }, diff --git a/src/language-server/error-util.ts b/src/language-server/error-util.ts index 6771f3b85..733e3a4f6 100644 --- a/src/language-server/error-util.ts +++ b/src/language-server/error-util.ts @@ -1,3 +1,4 @@ +import { CreateToastFnReturn } from "@chakra-ui/react"; import { ConnectionError, ErrorCodes, ResponseError } from "vscode-jsonrpc"; // The language server gets disposed/recreated which can cause errors for @@ -6,3 +7,29 @@ export const isErrorDueToDispose = (e: unknown): boolean => (e instanceof ResponseError && e.code === ErrorCodes.PendingResponseRejected) || e instanceof ConnectionError; + +export class OfflineError extends Error {} + +export const offlineToastTextIds = { + titleId: "offline-language-toast-title", + descriptionId: "offline-language-toast-description", +}; + +export const showOfflineLanguageToast = (toast: CreateToastFnReturn): void => { + const id = "offline-language-toast"; + if (!toast.isActive(id)) { + toast({ + id, + // We can't use intl inside the TranslationProvider component. + // Fallback to hardcoded English. + title: "Language unavailable offline", + description: + "The language will update when you next open the micro:bit Python Editor and you are online.", + status: "info", + duration: 5_000, + isClosable: true, + position: "top", + variant: "toast", + }); + } +}; diff --git a/src/language-server/language-server-hooks.tsx b/src/language-server/language-server-hooks.tsx index 29e568a0d..d9ef5549f 100644 --- a/src/language-server/language-server-hooks.tsx +++ b/src/language-server/language-server-hooks.tsx @@ -19,6 +19,7 @@ import { trackFsChanges, } from "./client-fs"; import { pyright } from "./pyright"; +import { useToast } from "@chakra-ui/react"; const LanguageServerClientContext = createContext< LanguageServerClient | undefined @@ -40,11 +41,12 @@ export const LanguageServerClientProvider = ({ const [clientState, setClientState] = useState< LanguageServerClient | undefined >(undefined); + const toast = useToast(); useEffect(() => { let listener: FsChangesListener | undefined; let ignore = false; const initAsync = async () => { - const client = await pyright(languageId); + const client = await pyright(languageId, toast); if (client) { listener = trackFsChanges(client, fs); if (!ignore) { @@ -60,7 +62,7 @@ export const LanguageServerClientProvider = ({ ignore = true; // We don't dispose the client here as it's cached for reuse. }; - }, [fs, languageId]); + }, [fs, languageId, toast]); return ( {children} diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index 1c1ada287..c33736dc7 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -10,6 +10,7 @@ import { } from "vscode-jsonrpc/browser"; import { baseUrl } from "../base"; import { createUri, LanguageServerClient } from "./client"; +import { CreateToastFnReturn } from "@chakra-ui/react"; // This is modified by bin/update-pyright.sh const workerScriptName = "pyright-main-382ffb2ee9671656ad85.worker.js"; @@ -29,7 +30,8 @@ let cache: * These are recreated when the language changes. */ export const pyright = async ( - language: string + language: string, + toast: CreateToastFnReturn ): Promise => { // For jsdom. if (!window.Worker) { @@ -91,7 +93,12 @@ export const pyright = async ( }); connection.listen(); - const client = new LanguageServerClient(connection, language, createUri("")); + const client = new LanguageServerClient( + connection, + language, + createUri(""), + toast + ); // Must assign before any async step so we reuse or dispose this client // if another call to pyright is made (language change or React 18 dev mode // in practice). diff --git a/src/messages/TranslationProvider.tsx b/src/messages/TranslationProvider.tsx index 5ec2a01db..9f5d187b1 100644 --- a/src/messages/TranslationProvider.tsx +++ b/src/messages/TranslationProvider.tsx @@ -3,10 +3,15 @@ * * SPDX-License-Identifier: MIT */ -import { useSettings } from "../settings/settings"; +import { fallbackLocale, useSettings } from "../settings/settings"; import { IntlProvider, MessageFormatElement } from "react-intl"; import { ReactNode, useEffect, useState } from "react"; import { retryAsyncLoad } from "../common/chunk-util"; +import { + OfflineError, + showOfflineLanguageToast, +} from "../language-server/error-util"; +import { useToast } from "@chakra-ui/react"; async function loadLocaleData(locale: string) { switch (locale) { @@ -48,14 +53,24 @@ interface TranslationProviderProps { */ const TranslationProvider = ({ children }: TranslationProviderProps) => { const [{ languageId }] = useSettings(); + const toast = useToast(); // If the messages are for a different language (or missing) then reload them const [messages, setMessages] = useState(); useEffect(() => { const load = async () => { - setMessages(await retryAsyncLoad(() => loadLocaleData(languageId))); + try { + setMessages(await retryAsyncLoad(() => loadLocaleData(languageId))); + } catch (err) { + if (err instanceof OfflineError) { + showOfflineLanguageToast(toast); + setMessages(await loadLocaleData(fallbackLocale)); + } else { + throw err; + } + } }; load(); - }, [languageId]); + }, [languageId, toast]); return messages ? ( {children} diff --git a/src/messages/ui.ca.json b/src/messages/ui.ca.json index f7e96d69f..a3d65f9e1 100644 --- a/src/messages/ui.ca.json +++ b/src/messages/ui.ca.json @@ -1127,6 +1127,12 @@ "value": "Has dactualitzar el teu microprogramari abans de poder connectar amb aquesta micro:bit." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index df0ede71f..7bc10ff35 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -1205,6 +1205,12 @@ "value": ", bevor eine Verbindung zu diesem micro:bit hergestellt werden kann." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.en.json b/src/messages/ui.en.json index 6ad55af7d..e8c6af7c6 100644 --- a/src/messages/ui.en.json +++ b/src/messages/ui.en.json @@ -1161,6 +1161,12 @@ "value": " you can connect to this micro:bit." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index 81c431adc..6737c2f3e 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -1161,6 +1161,12 @@ "value": " para poder conectar a este micro:bit." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.fr.json b/src/messages/ui.fr.json index f174d9469..e21d8a4f1 100644 --- a/src/messages/ui.fr.json +++ b/src/messages/ui.fr.json @@ -1161,6 +1161,12 @@ "value": " avant de pouvoir vous connecter à ce micro:bit." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 4b30cfa8b..1a50c1c9c 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -1169,6 +1169,12 @@ "value": "する必要があります。" } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index ed776b78e..4bb310804 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -1173,6 +1173,12 @@ "value": "해야 합니다." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index fe7920baa..3882ef96e 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -1181,6 +1181,12 @@ "value": " je verbinding kan maken met deze micro:bit." } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index 43b5f8b6e..95be98b24 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -1165,6 +1165,12 @@ "value": " 才能连接到此 micro:bit。" } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index cef9e10e8..1896ed3eb 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -1161,6 +1161,12 @@ "value": ",然後才能連線至此 micro:bit。" } ], + "offline-image-alt": [ + { + "type": 0, + "value": "Image unavailable offline" + } + ], "open-action": [ { "type": 0, diff --git a/src/settings/settings.tsx b/src/settings/settings.tsx index 57d6f39cd..94f7b2cb9 100644 --- a/src/settings/settings.tsx +++ b/src/settings/settings.tsx @@ -16,6 +16,10 @@ export interface Language { preview?: boolean; } +// We precache files for this locale, so it is a safe fallback +// if a user changes language while offline. +export const fallbackLocale = "en"; + // When we add languages we need to update the toolkit search indexing, // which will require the dynamic import of a new language plugin for lunr. // See search.ts. diff --git a/src/simulator/Simulator.tsx b/src/simulator/Simulator.tsx index 3ad2a1446..2cccb284e 100644 --- a/src/simulator/Simulator.tsx +++ b/src/simulator/Simulator.tsx @@ -17,11 +17,11 @@ import HideSplitViewButton from "../common/SplitView/HideSplitViewButton"; import { topBarHeight } from "../deployment/misc"; import { DeviceContextProvider } from "../device/device-hooks"; import { SimulatorDeviceConnection } from "../device/simulator"; -import { stage } from "../environment"; import { useLogging } from "../logging/logging-hooks"; import SimulatorActionBar from "./SimulatorActionBar"; import SimulatorSplitView from "./SimulatorSplitView"; import SimSerialTabControlProvider from "./tab-control-hooks"; +import { stage } from "../environment"; export enum RunningStatus { RUNNING, diff --git a/tsconfig.json b/tsconfig.json index 1d72bb95f..7695420dd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,7 +18,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "types": ["jest", "vite-plugin-pwa/client"] }, "include": ["src"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/vite.config.ts b/vite.config.ts index 6a5806f2b..f811307e1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,21 +1,32 @@ -import { configDefaults, defineConfig, UserConfig } from "vitest/config"; import react from "@vitejs/plugin-react"; -import svgr from "vite-plugin-svgr"; +import ejs from "ejs"; +import fs from "node:fs"; +import path from "node:path"; import { IndexHtmlTransformContext, IndexHtmlTransformResult, loadEnv, Plugin, } from "vite"; -import fs from "node:fs"; -import path from "node:path"; -import ejs from "ejs"; +import { VitePWA } from "vite-plugin-pwa"; +import svgr from "vite-plugin-svgr"; +import { configDefaults, defineConfig, UserConfig } from "vitest/config"; // Support optionally pulling in external branding if the module is installed. const theme = "@microbit-foundation/python-editor-v3-microbit"; const external = `node_modules/${theme}`; const internal = "src/deployment/default"; +const featurePwa = process.env.FEATURE_PWA === "true"; +const pwaCacheId = + // v3 vs beta should have distinct caches + // for the moment we do this for all review stages too but likely that's too much over time + process.env.STAGE === "PRODUCTION" || + process.env.STAGE === "STAGING" || + process.env.STAGE === "REVIEW" + ? process.env.BASE_URL.replaceAll("/", "") + : undefined; + // There are third-party options but seems better to just depend on ejs. const viteEjsPlugin = ({ data }: { data: ejs.Data }): Plugin => ({ name: "ejs", @@ -28,7 +39,34 @@ const viteEjsPlugin = ({ data }: { data: ejs.Data }): Plugin => ({ }, }); +// Removes webmanifest link tag from output index.html file. +// We readd this client side if PWA features are enabled via a feature flag. +// When that feature flag goes this plugin can be removed. +const viteRemoveManifestPlugin = (): Plugin => ({ + name: "Manifest", + enforce: "post", + transformIndexHtml: { + order: "post", + handler: ( + html: string, + _ctx: IndexHtmlTransformContext + ): IndexHtmlTransformResult => { + const updated = html.replace( + ``, + "" + ); + if (featurePwa && updated == html) { + throw new Error("Failed to remove web manifest"); + } + return updated; + }, + }, +}); + export default defineConfig(({ mode }) => { + process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; const unitTest: UserConfig["test"] = { globals: true, exclude: [...configDefaults.exclude, "**/e2e/**"], @@ -52,6 +90,99 @@ export default defineConfig(({ mode }) => { }), react(), svgr(), + VitePWA({ + disable: !featurePwa, + registerType: "autoUpdate", + workbox: { + cacheId: pwaCacheId, + // Only precache language assets for the fallback language. + // Cache other languages at runtime. + globIgnores: [ + "**/{typeshed.!(en*).js,pyright-locale-!(en*).js,search.worker.!(en*).js,ui.!(en*).js}", + ], + maximumFileSizeToCacheInBytes: 3097152, + globPatterns: ["**/*.{js,css,html,ico,png,svg,gif,hex}"], + runtimeCaching: [ + { + urlPattern: new RegExp( + `^https://${process.env.VITE_SANITY_PROJECT}.apicdn.sanity.io/.*` + ), + handler: "NetworkFirst", + options: { + cacheName: `${pwaCacheId}-sanity-content-cache`, + expiration: { + maxEntries: 40, + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + { + urlPattern: new RegExp( + `^https://cdn.sanity.io/images/${process.env.VITE_SANITY_PROJECT}/${process.env.VITE_SANITY_DATASET}/.*` + ), + handler: "CacheFirst", + options: { + cacheName: `${pwaCacheId}-sanity-images-cache`, + expiration: { + maxEntries: 100, + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + { + urlPattern: /^https:\/\/fonts.microbit.org\/.*/, + handler: "CacheFirst", + options: { + cacheName: `${pwaCacheId}-fonts-cache`, + expiration: { + maxEntries: 10, + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + { + urlPattern: + /.*(?:pyright-locale|search\.worker|typeshed|ui\.).*\.js/, + handler: "CacheFirst", + options: { + cacheName: `${pwaCacheId}-lang-cache`, + expiration: { + maxEntries: 40, + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + ], + }, + manifest: { + name: "micro:bit Python Editor", + short_name: "micro:bit Python Editor", + description: + "A Python Editor for the BBC micro:bit, built by the Micro:bit Educational Foundation and the global Python Community.", + theme_color: "#6c4bc1", + icons: [ + { + src: `${process.env.BASE_URL ?? "/"}logo512.png`, + sizes: "512x512", + type: "image/png", + }, + { + src: `${process.env.BASE_URL ?? "/"}logo192.png`, + sizes: "192x192", + type: "image/png", + }, + ], + }, + }), + viteRemoveManifestPlugin(), ], test: unitTest, resolve: { From 51713777985179180b595835de72fdd002f11ebe Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Thu, 30 May 2024 12:13:15 +0100 Subject: [PATCH 09/19] Allow SW scope without a trailing slash (#1184) This is something of a compromise and requires a header. --- vite.config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vite.config.ts b/vite.config.ts index f811307e1..2303bc812 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -93,6 +93,11 @@ export default defineConfig(({ mode }) => { VitePWA({ disable: !featurePwa, registerType: "autoUpdate", + // Remove the trailing slash so we can serve from e.g. /v/3 not just /v/3/ + // This requires the corresponding service-worker-allowed header to be set. + // URLs are prefix matched so it's a compromise solution that could affect other + // paths sharing the same prefix + scope: process.env.BASE_URL?.replace(/\/$/, ""), workbox: { cacheId: pwaCacheId, // Only precache language assets for the fallback language. From eded0a4dbd957ca7c857e33a18c16aa4280614fc Mon Sep 17 00:00:00 2001 From: Grace <145345672+microbit-grace@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:22:40 +0100 Subject: [PATCH 10/19] Upgrade UI deps (#1187) --- package-lock.json | 168 ++++++++++++++++++++++------------------------ package.json | 20 +++--- 2 files changed, 91 insertions(+), 97 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82b040556..4277d15e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,15 +11,15 @@ "license": "MIT", "dependencies": { "@chakra-ui/icons": "^2.1.1", - "@chakra-ui/react": "^2.5.1", + "@chakra-ui/react": "^2.8.2", "@codemirror/autocomplete": "^6.16.0", "@codemirror/commands": "6.5.0", "@codemirror/lang-python": "^6.1.6", "@codemirror/language": "^6.10.1", "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.26.3", - "@emotion/react": "^11.10.6", - "@emotion/styled": "^11.10.6", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", "@microbit/microbit-fs": "^0.9.2", "@sanity/block-content-to-react": "^3.0.0", "@sanity/image-url": "^1.0.1", @@ -31,9 +31,9 @@ "@types/lodash.sortby": "^4.7.6", "@types/lunr": "^2.3.4", "@types/marked": "^4.0.1", - "@types/node": "^20.11.25", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", + "@types/node": "^20.14.8", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "base64-js": "^1.5.1", "crelt": "^1.0.5", "dapjs": "2.2.0", @@ -48,11 +48,11 @@ "lzma": "^2.3.2", "marked": "^4.0.15", "mobile-drag-drop": "^2.3.0-rc.2", - "react": "^18.0.0", - "react-dom": "^18.0.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hotkeys-hook": "^4.5.0", - "react-icons": "^4.8.0", - "react-intl": "^6.2.10", + "react-icons": "^4.12.0", + "react-intl": "^6.6.8", "vite": "^5.1.5", "vscode-jsonrpc": "^8.0.0", "vscode-languageserver-protocol": "^3.16.0", @@ -3182,9 +3182,9 @@ } }, "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.1.4", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", + "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", "dependencies": { "@emotion/hash": "^0.9.1", "@emotion/memoize": "^0.8.1", @@ -3199,14 +3199,14 @@ "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" }, "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.11.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", + "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", "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/is-prop-valid": "^1.2.2", + "@emotion/serialize": "^1.1.4", "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", "@emotion/utils": "^1.2.1" }, @@ -3702,9 +3702,9 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz", - "integrity": "sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", + "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", "dependencies": { "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" @@ -3719,35 +3719,35 @@ } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.6.tgz", - "integrity": "sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA==", + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", + "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", - "@formatjs/icu-skeleton-parser": "1.8.0", + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-skeleton-parser": "1.8.2", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.0.tgz", - "integrity": "sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", + "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.0.tgz", - "integrity": "sha512-X3xT9guVkKDS86EKV80lS0KxoazUglkJTGZO66sKY7otgl0VeStPA8B3u8UkKT47PexVV98fUzjpkchYmbe9nw==", + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.4.tgz", + "integrity": "sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.6", - "@formatjs/intl-displaynames": "6.6.6", - "@formatjs/intl-listformat": "7.5.5", - "intl-messageformat": "10.5.11", + "@formatjs/icu-messageformat-parser": "2.7.8", + "@formatjs/intl-displaynames": "6.6.8", + "@formatjs/intl-listformat": "7.5.7", + "intl-messageformat": "10.5.14", "tslib": "^2.4.0" }, "peerDependencies": { @@ -3760,21 +3760,21 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.6.6.tgz", - "integrity": "sha512-Dg5URSjx0uzF8VZXtHb6KYZ6LFEEhCbAbKoYChYHEOnMFTw/ZU3jIo/NrujzQD2EfKPgQzIq73LOUvW6Z/LpFA==", + "version": "6.6.8", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.6.8.tgz", + "integrity": "sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.5.5.tgz", - "integrity": "sha512-XoI52qrU6aBGJC9KJddqnacuBbPlb/bXFN+lIFVFhQ1RnFHpzuFrlFdjD9am2O7ZSYsyqzYRpkVcXeT1GHkwDQ==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.5.7.tgz", + "integrity": "sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" } @@ -5000,9 +5000,9 @@ "integrity": "sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==" }, "node_modules/@types/node": { - "version": "20.11.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz", - "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==", + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", "dependencies": { "undici-types": "~5.26.4" } @@ -5026,19 +5026,18 @@ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/react": { - "version": "18.2.65", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.65.tgz", - "integrity": "sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==", + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.21.tgz", - "integrity": "sha512-gnvBA/21SA4xxqNXEwNiVcP0xSGHh/gi1VhWv9Bl46a0ItbTT5nFY+G9VSQpaG/8N/qdJpJ+vftQ4zflTtnjLw==", + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "dependencies": { "@types/react": "*" } @@ -5052,11 +5051,6 @@ "@types/node": "*" } }, - "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/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -8267,13 +8261,13 @@ } }, "node_modules/intl-messageformat": { - "version": "10.5.11", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.11.tgz", - "integrity": "sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg==", + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", + "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.6", + "@formatjs/icu-messageformat-parser": "2.7.8", "tslib": "^2.4.0" } }, @@ -10315,9 +10309,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "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==", "dependencies": { "loose-envify": "^1.1.0" }, @@ -10337,15 +10331,15 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-fast-compare": { @@ -10393,19 +10387,19 @@ } }, "node_modules/react-intl": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.6.2.tgz", - "integrity": "sha512-IpW2IkLtGENSFlX3vfH11rjuCIsW0VyjT0Q1pPKMZPtT2z1FxLt4weFT5Ezti2TScT1xiyb3aQBFth9EB7jzAg==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", - "@formatjs/icu-messageformat-parser": "2.7.6", - "@formatjs/intl": "2.10.0", - "@formatjs/intl-displaynames": "6.6.6", - "@formatjs/intl-listformat": "7.5.5", + "version": "6.6.8", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.6.8.tgz", + "integrity": "sha512-M0pkhzcgV31h++2901BiRXWl69hp2zPyLxRrSwRjd1ErXbNoubz/f4M6DrRTd4OiSUrT4ajRQzrmtS5plG4FtA==", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-messageformat-parser": "2.7.8", + "@formatjs/intl": "2.10.4", + "@formatjs/intl-displaynames": "6.6.8", + "@formatjs/intl-listformat": "7.5.7", "@types/hoist-non-react-statics": "^3.3.1", "@types/react": "16 || 17 || 18", "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.5.11", + "intl-messageformat": "10.5.14", "tslib": "^2.4.0" }, "peerDependencies": { @@ -10831,9 +10825,9 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { "loose-envify": "^1.1.0" } diff --git a/package.json b/package.json index 81e502411..e3e07e491 100644 --- a/package.json +++ b/package.json @@ -7,15 +7,15 @@ "type": "module", "dependencies": { "@chakra-ui/icons": "^2.1.1", - "@chakra-ui/react": "^2.5.1", + "@chakra-ui/react": "^2.8.2", "@codemirror/autocomplete": "^6.16.0", "@codemirror/commands": "6.5.0", "@codemirror/lang-python": "^6.1.6", "@codemirror/language": "^6.10.1", "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.26.3", - "@emotion/react": "^11.10.6", - "@emotion/styled": "^11.10.6", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", "@microbit/microbit-fs": "^0.9.2", "@sanity/block-content-to-react": "^3.0.0", "@sanity/image-url": "^1.0.1", @@ -27,9 +27,9 @@ "@types/lodash.sortby": "^4.7.6", "@types/lunr": "^2.3.4", "@types/marked": "^4.0.1", - "@types/node": "^20.11.25", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", + "@types/node": "^20.14.8", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "base64-js": "^1.5.1", "crelt": "^1.0.5", "dapjs": "2.2.0", @@ -44,11 +44,11 @@ "lzma": "^2.3.2", "marked": "^4.0.15", "mobile-drag-drop": "^2.3.0-rc.2", - "react": "^18.0.0", - "react-dom": "^18.0.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hotkeys-hook": "^4.5.0", - "react-icons": "^4.8.0", - "react-intl": "^6.2.10", + "react-icons": "^4.12.0", + "react-intl": "^6.6.8", "vite": "^5.1.5", "vscode-jsonrpc": "^8.0.0", "vscode-languageserver-protocol": "^3.16.0", From 506446c62b9398b4f3a7ef8f295b22d929f7ef87 Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Tue, 9 Jul 2024 17:38:34 +0100 Subject: [PATCH 11/19] Use EventTarget rather than the Node "events" module (#1188) This should amount no meaningful change but is a useful preliminary to extracting the device code for reuse. Incorporates the only meaningful file from https://github.com/DerZade/typescript-event-target/ (with licence details) to save on the dependency. --- package-lock.json | 9 -- package.json | 1 - src/common/events.ts | 122 ++++++++++++++++++ src/device/device-hooks.tsx | 48 ++++--- src/device/device.ts | 65 ++++++++-- src/device/mock.ts | 21 ++- src/device/simulator.ts | 95 ++++++++++---- src/device/webusb.test.ts | 8 +- src/device/webusb.ts | 34 ++--- src/e2e/simulator.test.ts | 21 ++- src/editor/codemirror/language-server/view.ts | 19 +-- src/fs/fs.test.ts | 5 +- src/fs/fs.ts | 32 ++++- src/fs/host-iframe.test.ts | 2 +- src/fs/host.ts | 12 +- src/language-server/client-fs.ts | 13 +- src/language-server/client.ts | 27 ++-- src/project/project-actions.tsx | 7 +- src/project/project-hooks.tsx | 6 +- src/serial/XTerm.tsx | 14 +- src/simulator/SimulatorActionBar.tsx | 5 +- src/simulator/SimulatorModules.tsx | 9 +- src/simulator/data-logging-hooks.tsx | 9 +- src/simulator/radio-hooks.tsx | 13 +- src/workbench/Workbench.tsx | 30 +++-- src/workbench/connect-dialogs/Overlay.tsx | 12 +- 26 files changed, 436 insertions(+), 203 deletions(-) create mode 100644 src/common/events.ts diff --git a/package-lock.json b/package-lock.json index 4277d15e4..4c85a5423 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,6 @@ "crelt": "^1.0.5", "dapjs": "2.2.0", "dompurify": "^2.3.3", - "events": "^3.3.0", "file-saver": "^2.0.5", "framer-motion": "^10.2.4", "lodash.debounce": "^4.0.8", @@ -7493,14 +7492,6 @@ "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", diff --git a/package.json b/package.json index e3e07e491..defc4f33d 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "crelt": "^1.0.5", "dapjs": "2.2.0", "dompurify": "^2.3.3", - "events": "^3.3.0", "file-saver": "^2.0.5", "framer-motion": "^10.2.4", "lodash.debounce": "^4.0.8", diff --git a/src/common/events.ts b/src/common/events.ts new file mode 100644 index 000000000..df7a78659 --- /dev/null +++ b/src/common/events.ts @@ -0,0 +1,122 @@ +/** + * Copyright (c) 2022 Jonas "DerZade" Schade + * + * SPDX-License-Identifier: MIT + * + * https://github.com/DerZade/typescript-event-target/blob/master/src/TypedEventTarget.ts + */ + +/** + * A function that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}. + * + * @template M A map of event types to their respective event classes. + * @template T The type of event to listen for (has to be keyof `M`). + */ +export type TypedEventListener = ( + evt: M[T] +) => void | Promise; + +/** + * An object that can be passed to the `listener` parameter of {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}. + * + * @template M A map of event types to their respective event classes. + * @template T The type of event to listen for (has to be keyof `M`). + */ +export interface TypedEventListenerObject { + handleEvent: (evt: M[T]) => void | Promise; +} + +/** + * Type of parameter `listener` in {@link TypedEventTarget.addEventListener} and {@link TypedEventTarget.removeEventListener}. + * + * The object that receives a notification (an object that implements the Event interface) when an event of the specified type occurs. + * + * Can be either an object with a handleEvent() method, or a JavaScript function. + * + * @template M A map of event types to their respective event classes. + * @template T The type of event to listen for (has to be keyof `M`). + */ +export type TypedEventListenerOrEventListenerObject = + | TypedEventListener + | TypedEventListenerObject; + +type ValueIsEvent = { + [key in keyof T]: Event; +}; + +/** + * Typescript friendly version of {@link EventTarget} + * + * @template M A map of event types to their respective event classes. + * + * @example + * ```typescript + * interface MyEventMap { + * hello: Event; + * time: CustomEvent; + * } + * + * const eventTarget = new TypedEventTarget(); + * + * eventTarget.addEventListener('time', (event) => { + * // event is of type CustomEvent + * }); + * ``` + */ +export interface TypedEventTarget> { + /** Appends an event listener for events whose type attribute value is type. + * The callback argument sets the callback that will be invoked when the event + * is dispatched. + * + * The options argument sets listener-specific options. For compatibility this + * can be a boolean, in which case the method behaves exactly as if the value + * was specified as options's capture. + * + * When set to true, options's capture prevents callback from being invoked + * when the event's eventPhase attribute value is BUBBLING_PHASE. When false + * (or not present), callback will not be invoked when event's eventPhase + * attribute value is CAPTURING_PHASE. Either way, callback will be invoked if + * event's eventPhase attribute value is AT_TARGET. + * + * When set to true, options's passive indicates that the callback will not + * cancel the event by invoking preventDefault(). This is used to enable + * performance optimizations described in § 2.8 Observing event listeners. + * + * When set to true, options's once indicates that the callback will only be + * invoked once after which the event listener will be removed. + * + * The event listener is appended to target's event listener list and is not + * appended if it has the same type, callback, and capture. */ + addEventListener: ( + type: T, + listener: TypedEventListenerOrEventListenerObject | null, + options?: boolean | AddEventListenerOptions + ) => void; + + /** Removes the event listener in target's event listener list with the same + * type, callback, and options. */ + removeEventListener: ( + type: T, + callback: TypedEventListenerOrEventListenerObject | null, + options?: EventListenerOptions | boolean + ) => void; + + /** + * Dispatches a synthetic event event to target and returns true if either + * event's cancelable attribute value is false or its preventDefault() method + * was not invoked, and false otherwise. + * @deprecated To ensure type safety use `dispatchTypedEvent` instead. + */ + dispatchEvent: (event: Event) => boolean; +} +// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging +export class TypedEventTarget> extends EventTarget { + /** + * Dispatches a synthetic event event to target and returns true if either + * event's cancelable attribute value is false or its preventDefault() method + * was not invoked, and false otherwise. + */ + public dispatchTypedEvent(_type: T, event: M[T]): boolean { + return super.dispatchEvent(event); + } +} diff --git a/src/device/device-hooks.tsx b/src/device/device-hooks.tsx index 4059b4126..ef6bc8907 100644 --- a/src/device/device-hooks.tsx +++ b/src/device/device-hooks.tsx @@ -11,17 +11,13 @@ import React, { useEffect, useState, } from "react"; -import { EVENT_PROJECT_UPDATED, EVENT_TEXT_EDIT } from "../fs/fs"; import { useFileSystem } from "../fs/fs-hooks"; import { useLogging } from "../logging/logging-hooks"; import { ConnectionStatus, DeviceConnection, - EVENT_FLASH, - EVENT_SERIAL_DATA, - EVENT_SERIAL_ERROR, - EVENT_SERIAL_RESET, - EVENT_STATUS, + SerialDataEvent, + ConnectionStatusEvent, } from "./device"; import { SimulatorDeviceConnection } from "./simulator"; @@ -60,12 +56,12 @@ export const useConnectionStatus = () => { const device = useDevice(); const [status, setStatus] = useState(device.status); useEffect(() => { - const statusListener = (status: ConnectionStatus) => { - setStatus(status); + const statusListener = (event: ConnectionStatusEvent) => { + setStatus(event.status); }; - device.on(EVENT_STATUS, statusListener); + device.addEventListener("status", statusListener); return () => { - device.removeListener(EVENT_STATUS, statusListener); + device.removeEventListener("status", statusListener); }; }, [device, setStatus]); @@ -189,8 +185,8 @@ export const useDeviceTraceback = () => { useEffect(() => { const buffer = new TracebackScrollback(); - const dataListener = (data: string) => { - const latest = buffer.push(data); + const dataListener = (event: SerialDataEvent) => { + const latest = buffer.push(event.data); setRuntimeError((current) => { if (!current && latest) { logging.event({ @@ -204,13 +200,13 @@ export const useDeviceTraceback = () => { buffer.clear(); setRuntimeError(undefined); }; - device.addListener(EVENT_SERIAL_DATA, dataListener); - device.addListener(EVENT_SERIAL_RESET, clearListener); - device.addListener(EVENT_SERIAL_ERROR, clearListener); + device.addEventListener("serial_data", dataListener); + device.addEventListener("serial_reset", clearListener); + device.addEventListener("serial_error", clearListener); return () => { - device.removeListener(EVENT_SERIAL_ERROR, clearListener); - device.removeListener(EVENT_SERIAL_RESET, clearListener); - device.removeListener(EVENT_SERIAL_DATA, dataListener); + device.removeEventListener("serial_error", clearListener); + device.removeEventListener("serial_reset", clearListener); + device.removeEventListener("serial_data", dataListener); }; }, [device, setRuntimeError, logging]); @@ -247,15 +243,15 @@ export const DeviceContextProvider = ({ useEffect(() => { const moveToOutOfSync = () => setSyncStatus(SyncStatus.OUT_OF_SYNC); const moveToInSync = () => setSyncStatus(SyncStatus.IN_SYNC); - fs.on(EVENT_TEXT_EDIT, moveToOutOfSync); - fs.on(EVENT_PROJECT_UPDATED, moveToOutOfSync); - device.on(EVENT_FLASH, moveToInSync); - device.on(EVENT_STATUS, moveToOutOfSync); + fs.addEventListener("file_text_updated", moveToOutOfSync); + fs.addEventListener("project_updated", moveToOutOfSync); + device.addEventListener("flash", moveToInSync); + device.addEventListener("status", moveToOutOfSync); return () => { - fs.removeListener(EVENT_TEXT_EDIT, moveToOutOfSync); - fs.removeListener(EVENT_PROJECT_UPDATED, moveToOutOfSync); - device.removeListener(EVENT_STATUS, moveToOutOfSync); - device.removeListener(EVENT_FLASH, moveToInSync); + fs.removeEventListener("file_text_updated", moveToOutOfSync); + fs.removeEventListener("project_updated", moveToOutOfSync); + device.removeEventListener("status", moveToOutOfSync); + device.removeEventListener("flash", moveToInSync); }; }, [fs, device, setSyncStatus]); return ( diff --git a/src/device/device.ts b/src/device/device.ts index 9e9396b25..a432501b7 100644 --- a/src/device/device.ts +++ b/src/device/device.ts @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: MIT */ -import EventEmitter from "events"; +import { TypedEventTarget } from "../common/events"; import { Logging } from "../logging/logging"; import { BoardId } from "./board-id"; @@ -96,14 +96,6 @@ export enum ConnectionAction { DISCONNECT = "DISCONNECT", } -export const EVENT_STATUS = "status"; -export const EVENT_SERIAL_DATA = "serial_data"; -export const EVENT_SERIAL_RESET = "serial_reset"; -export const EVENT_SERIAL_ERROR = "serial_error"; -export const EVENT_FLASH = "flash"; -export const EVENT_START_USB_SELECT = "start_usb_select"; -export const EVENT_END_USB_SELECT = "end_usb_select"; - export class HexGenerationError extends Error {} export interface FlashDataSource { @@ -135,7 +127,60 @@ export interface ConnectOptions { export type BoardVersion = "V1" | "V2"; -export interface DeviceConnection extends EventEmitter { +export class ConnectionStatusEvent extends Event { + constructor(public readonly status: ConnectionStatus) { + super("status"); + } +} + +export class SerialDataEvent extends Event { + constructor(public readonly data: string) { + super("serial_data"); + } +} + +export class SerialResetEvent extends Event { + constructor() { + super("serial_reset"); + } +} + +export class SerialErrorEvent extends Event { + constructor(public readonly error: unknown) { + super("serial_error"); + } +} + +export class FlashEvent extends Event { + constructor() { + super("flash"); + } +} + +export class StartUSBSelect extends Event { + constructor() { + super("start_usb_select"); + } +} + +export class EndUSBSelect extends Event { + constructor() { + super("end_usb_select"); + } +} + +export class DeviceConnectionEventMap { + "status": ConnectionStatusEvent; + "serial_data": SerialDataEvent; + "serial_reset": Event; + "serial_error": Event; + "flash": Event; + "start_usb_select": Event; + "end_usb_select": Event; +} + +export interface DeviceConnection + extends TypedEventTarget { status: ConnectionStatus; /** diff --git a/src/device/mock.ts b/src/device/mock.ts index 5854ea616..824374a21 100644 --- a/src/device/mock.ts +++ b/src/device/mock.ts @@ -3,18 +3,19 @@ * * SPDX-License-Identifier: MIT */ +import { TypedEventTarget } from "../common/events"; import { BoardVersion, ConnectionStatus, DeviceConnection, - EVENT_FLASH, - EVENT_SERIAL_DATA, - EVENT_STATUS, + DeviceConnectionEventMap, FlashDataSource, + FlashEvent, + SerialDataEvent, + ConnectionStatusEvent, WebUSBError, WebUSBErrorCode, } from "./device"; -import EventEmitter from "events"; /** * A mock device used during end-to-end testing. @@ -24,7 +25,7 @@ import EventEmitter from "events"; * the connected state without a real device. */ export class MockDeviceConnection - extends EventEmitter + extends TypedEventTarget implements DeviceConnection { status: ConnectionStatus = navigator.usb @@ -40,7 +41,7 @@ export class MockDeviceConnection } mockSerialWrite(data: string) { - this.emit(EVENT_SERIAL_DATA, data); + this.dispatchTypedEvent("serial_data", new SerialDataEvent(data)); } mockConnect(code: WebUSBErrorCode) { @@ -49,9 +50,7 @@ export class MockDeviceConnection async initialize(): Promise {} - dispose() { - this.removeAllListeners(); - } + dispose() {} async connect(): Promise { const next = this.connectResults.shift(); @@ -90,7 +89,7 @@ export class MockDeviceConnection options.progress(0.5); await new Promise((resolve) => setTimeout(resolve, 100)); options.progress(undefined); - this.emit(EVENT_FLASH); + this.dispatchTypedEvent("flash", new FlashEvent()); } async disconnect(): Promise { @@ -103,7 +102,7 @@ export class MockDeviceConnection private setStatus(newStatus: ConnectionStatus) { this.status = newStatus; - this.emit(EVENT_STATUS, this.status); + this.dispatchTypedEvent("status", new ConnectionStatusEvent(this.status)); } clearDevice(): void { diff --git a/src/device/simulator.ts b/src/device/simulator.ts index 6304a232b..b9f8b5f21 100644 --- a/src/device/simulator.ts +++ b/src/device/simulator.ts @@ -3,26 +3,57 @@ * * SPDX-License-Identifier: MIT */ -import EventEmitter from "events"; +import { TypedEventTarget } from "../common/events"; import { Logging } from "../logging/logging"; import { BoardVersion, ConnectionStatus, DeviceConnection, - EVENT_FLASH, - EVENT_SERIAL_DATA, - EVENT_SERIAL_RESET, - EVENT_STATUS, + DeviceConnectionEventMap, FlashDataSource, + FlashEvent, + SerialDataEvent, + SerialResetEvent, + ConnectionStatusEvent, } from "./device"; // Simulator-only events. -export const EVENT_LOG_DATA = "log_data"; -export const EVENT_RADIO_DATA = "radio_data"; -export const EVENT_RADIO_GROUP = "radio_group"; -export const EVENT_RADIO_RESET = "radio_reset"; -export const EVENT_STATE_CHANGE = "state_change"; -export const EVENT_REQUEST_FLASH = "request_flash"; + +export class LogDataEvent extends Event { + constructor(public readonly log: DataLog) { + super("log_data"); + } +} + +export class RadioDataEvent extends Event { + constructor(public readonly text: string) { + super("radio_data"); + } +} + +export class RadioGroupEvent extends Event { + constructor(public readonly group: number) { + super("radio_group"); + } +} + +export class RadioResetEvent extends Event { + constructor() { + super("radio_reset"); + } +} + +export class StateChangeEvent extends Event { + constructor(public readonly state: SimulatorState) { + super("state_change"); + } +} + +export class RequestFlashEvent extends Event { + constructor() { + super("request_flash"); + } +} // It'd be nice to publish these types from the simulator project. @@ -133,13 +164,22 @@ const initialDataLog = (): DataLog => ({ data: [], }); +class SimulatorEventMap extends DeviceConnectionEventMap { + "log_data": LogDataEvent; + "radio_data": RadioDataEvent; + "radio_group": RadioGroupEvent; + "radio_reset": RadioResetEvent; + "state_change": StateChangeEvent; + "request_flash": RequestFlashEvent; +} + /** * A simulated device. * * This communicates with the iframe that is used to embed the simulator. */ export class SimulatorDeviceConnection - extends EventEmitter + extends TypedEventTarget implements DeviceConnection { status: ConnectionStatus = ConnectionStatus.NO_AUTHORIZED_DEVICE; @@ -155,26 +195,28 @@ export class SimulatorDeviceConnection } switch (event.data.kind) { case "ready": { - this.state = event.data.state; - this.emit(EVENT_STATE_CHANGE, this.state); + const newState = event.data.state; + this.state = newState; + this.dispatchTypedEvent("state_change", new StateChangeEvent(newState)); if (this.status !== ConnectionStatus.CONNECTED) { this.setStatus(ConnectionStatus.CONNECTED); } break; } case "request_flash": { - this.emit(EVENT_REQUEST_FLASH); + this.dispatchTypedEvent("request_flash", new RequestFlashEvent()); this.logging.event({ type: "sim-user-start", }); break; } case "state_change": { - this.state = { + const updated = { ...this.state, ...event.data.change, }; - this.emit(EVENT_STATE_CHANGE, this.state); + this.state = updated; + this.dispatchTypedEvent("state_change", new StateChangeEvent(updated)); break; } case "radio_output": { @@ -187,7 +229,7 @@ export class SimulatorDeviceConnection // eslint-disable-next-line no-control-regex .replace(/^\x01\x00\x01/, ""); if (message instanceof Uint8Array) { - this.emit(EVENT_RADIO_DATA, text); + this.dispatchTypedEvent("radio_data", new RadioDataEvent(text)); } break; } @@ -205,18 +247,18 @@ export class SimulatorDeviceConnection result.data.push({ data: entry.data }); } this.log = result; - this.emit(EVENT_LOG_DATA, this.log); + this.dispatchTypedEvent("log_data", new LogDataEvent(this.log)); break; } case "log_delete": { this.log = initialDataLog(); - this.emit(EVENT_LOG_DATA, this.log); + this.dispatchTypedEvent("log_data", new LogDataEvent(this.log)); break; } case "serial_output": { const text = event.data.data; if (typeof text === "string") { - this.emit(EVENT_SERIAL_DATA, text); + this.dispatchTypedEvent("serial_data", new SerialDataEvent(text)); } break; } @@ -254,7 +296,6 @@ export class SimulatorDeviceConnection } dispose() { - this.removeAllListeners(); window.removeEventListener("message", this.messageListener); } @@ -279,7 +320,7 @@ export class SimulatorDeviceConnection }); this.notifyResetComms(); options.progress(undefined); - this.emit(EVENT_FLASH); + this.dispatchTypedEvent("flash", new FlashEvent()); } configure(config: Config): void { @@ -288,8 +329,8 @@ export class SimulatorDeviceConnection private notifyResetComms() { // Might be nice to rework so this was all about connection state changes. - this.emit(EVENT_SERIAL_RESET, {}); - this.emit(EVENT_RADIO_RESET, {}); + this.dispatchTypedEvent("serial_reset", new SerialResetEvent()); + this.dispatchTypedEvent("radio_reset", new RadioResetEvent()); } async disconnect(): Promise { @@ -329,7 +370,7 @@ export class SimulatorDeviceConnection value, }, }; - this.emit(EVENT_STATE_CHANGE, this.state); + this.dispatchTypedEvent("state_change", new StateChangeEvent(this.state)); this.postMessage("set_value", { id, value, @@ -365,7 +406,7 @@ export class SimulatorDeviceConnection private setStatus(newStatus: ConnectionStatus) { this.status = newStatus; - this.emit(EVENT_STATUS, this.status); + this.dispatchTypedEvent("status", new ConnectionStatusEvent(newStatus)); } clearDevice(): void { diff --git a/src/device/webusb.test.ts b/src/device/webusb.test.ts index 5332f3660..6d5374aab 100644 --- a/src/device/webusb.test.ts +++ b/src/device/webusb.test.ts @@ -9,7 +9,7 @@ * It might be we could create a custom environment that was web but * with a tweak to Buffer. */ -import { ConnectionStatus, EVENT_STATUS } from "./device"; +import { ConnectionStatus, ConnectionStatusEvent } from "./device"; import { NullLogging } from "../deployment/default/logging"; import { MicrobitWebUSBConnection } from "./webusb"; import { vi } from "vitest"; @@ -59,9 +59,9 @@ describeDeviceOnly("MicrobitWebUSBConnection (WebUSB supported)", () => { it("connects and disconnects updating status and events", async () => { const events: ConnectionStatus[] = []; const connection = new MicrobitWebUSBConnection(); - connection.on(EVENT_STATUS, (status: ConnectionStatus) => - events.push(status) - ); + connection.addEventListener("status", (event: ConnectionStatusEvent) => { + events.push(event.status); + }); await connection.connect(); diff --git a/src/device/webusb.ts b/src/device/webusb.ts index bd6e37fac..02ebc23f8 100644 --- a/src/device/webusb.ts +++ b/src/device/webusb.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: MIT */ -import EventEmitter from "events"; import { Logging } from "../logging/logging"; import { NullLogging } from "../deployment/default/logging"; import { withTimeout, TimeoutError } from "./async-util"; @@ -14,18 +13,20 @@ import { ConnectionStatus, ConnectOptions, DeviceConnection, - EVENT_END_USB_SELECT, - EVENT_FLASH, - EVENT_SERIAL_DATA, - EVENT_SERIAL_ERROR, - EVENT_SERIAL_RESET, - EVENT_START_USB_SELECT, - EVENT_STATUS, + DeviceConnectionEventMap, + EndUSBSelect, FlashDataSource, + FlashEvent, HexGenerationError, MicrobitWebUSBConnectionOptions, + SerialDataEvent, + SerialErrorEvent, + SerialResetEvent, + StartUSBSelect, + ConnectionStatusEvent, WebUSBError, } from "./device"; +import { TypedEventTarget } from "../common/events"; // Temporary workaround for ChromeOS 105 bug. // See https://bugs.chromium.org/p/chromium/issues/detail?id=1363712&q=usb&can=2 @@ -38,7 +39,7 @@ export const isChromeOS105 = (): boolean => { * A WebUSB connection to a micro:bit device. */ export class MicrobitWebUSBConnection - extends EventEmitter + extends TypedEventTarget implements DeviceConnection { status: ConnectionStatus = @@ -63,7 +64,7 @@ export class MicrobitWebUSBConnection private serialReadInProgress: Promise | undefined; private serialListener = (data: string) => { - this.emit(EVENT_SERIAL_DATA, data); + this.dispatchTypedEvent("serial_data", new SerialDataEvent(data)); }; private flashing: boolean = false; @@ -151,7 +152,6 @@ export class MicrobitWebUSBConnection } dispose() { - this.removeAllListeners(); if (navigator.usb) { navigator.usb.removeEventListener("disconnect", this.handleDisconnect); } @@ -200,7 +200,7 @@ export class MicrobitWebUSBConnection await this.withEnrichedErrors(() => this.flashInternal(dataSource, options) ); - this.emit(EVENT_FLASH); + this.dispatchTypedEvent("flash", new FlashEvent()); const flashTime = new Date().getTime() - startTime; this.logging.event({ @@ -278,7 +278,7 @@ export class MicrobitWebUSBConnection .startSerial(this.serialListener) .then(() => this.log("Finished listening for serial data")) .catch((e) => { - this.emit(EVENT_SERIAL_ERROR, e); + this.dispatchTypedEvent("serial_error", new SerialErrorEvent(e)); }); } @@ -287,7 +287,7 @@ export class MicrobitWebUSBConnection this.connection.stopSerial(this.serialListener); await this.serialReadInProgress; this.serialReadInProgress = undefined; - this.emit(EVENT_SERIAL_RESET, {}); + this.dispatchTypedEvent("serial_reset", new SerialResetEvent()); } } @@ -318,7 +318,7 @@ export class MicrobitWebUSBConnection this.status = newStatus; this.visibilityReconnect = false; this.log("Device status " + newStatus); - this.emit(EVENT_STATUS, this.status); + this.dispatchTypedEvent("status", new ConnectionStatusEvent(newStatus)); } private async withEnrichedErrors(f: () => Promise): Promise { @@ -402,11 +402,11 @@ export class MicrobitWebUSBConnection if (this.device) { return this.device; } - this.emit(EVENT_START_USB_SELECT); + this.dispatchTypedEvent("start_usb_select", new StartUSBSelect()); this.device = await navigator.usb.requestDevice({ filters: [{ vendorId: 0x0d28, productId: 0x0204 }], }); - this.emit(EVENT_END_USB_SELECT); + this.dispatchTypedEvent("end_usb_select", new EndUSBSelect()); return this.device; } } diff --git a/src/e2e/simulator.test.ts b/src/e2e/simulator.test.ts index a49b6ac1a..32645a0d1 100644 --- a/src/e2e/simulator.test.ts +++ b/src/e2e/simulator.test.ts @@ -5,16 +5,23 @@ */ import { test } from "./app-test-fixtures.js"; -const basicTest = "from microbit import *\ndisplay.show(Image.NO)"; +const basicTest = `from microbit import * +display.show(Image.NO)`; -const buttonTest = - "from microbit import *\nwhile True:\nif button_a.was_pressed():\ndisplay.show(Image.NO)"; +const buttonTest = `from microbit import * +while True: + if button_a.was_pressed(): + display.show(Image.NO)`; -const gestureTest = - "from microbit import *\nwhile True:\nif accelerometer.was_gesture('freefall'):\ndisplay.show(Image.NO)"; +const gestureTest = `from microbit import * +while True: + if accelerometer.was_gesture('freefall'): + display.show(Image.NO)`; -const sliderTest = - "from microbit import *\nwhile True:\nif temperature() == -5:\ndisplay.show(Image.NO)"; +const sliderTest = `from microbit import * +while True: + if temperature() == -5: + display.show(Image.NO)`; test.describe("simulator", () => { test("responds to a sent gesture", async ({ app }) => { diff --git a/src/editor/codemirror/language-server/view.ts b/src/editor/codemirror/language-server/view.ts index a500db581..35acc4fbc 100644 --- a/src/editor/codemirror/language-server/view.ts +++ b/src/editor/codemirror/language-server/view.ts @@ -6,16 +6,18 @@ import type { PluginValue, ViewUpdate } from "@codemirror/view"; import { EditorView, ViewPlugin } from "@codemirror/view"; import { IntlShape } from "react-intl"; -import * as LSP from "vscode-languageserver-protocol"; import { ApiReferenceMap } from "../../../documentation/mapping/content"; -import { LanguageServerClient } from "../../../language-server/client"; +import { + DiagnosticsEvent, + LanguageServerClient, +} from "../../../language-server/client"; import { Logging } from "../../../logging/logging"; import { Action, setDiagnostics } from "../lint/lint"; import { autocompletion } from "./autocompletion"; import { BaseLanguageServerView, clientFacet, uriFacet } from "./common"; import { diagnosticsMapping } from "./diagnostics"; import { signatureHelp } from "./signatureHelp"; -import { DeviceConnection, EVENT_STATUS } from "../../../device/device"; +import { DeviceConnection } from "../../../device/device"; /** * The main extension. This synchronises the diagnostics between the client @@ -23,7 +25,8 @@ import { DeviceConnection, EVENT_STATUS } from "../../../device/device"; * the language server when the document changes. */ class LanguageServerView extends BaseLanguageServerView implements PluginValue { - private diagnosticsListener = (params: LSP.PublishDiagnosticsParams) => { + private diagnosticsListener = (event: DiagnosticsEvent) => { + const params = event.detail; if (params.uri === this.uri) { const diagnostics = diagnosticsMapping( this.view.state.doc, @@ -64,8 +67,8 @@ class LanguageServerView extends BaseLanguageServerView implements PluginValue { ) { super(view); - this.client.on("diagnostics", this.diagnosticsListener); - this.device.on(EVENT_STATUS, this.onDeviceStatusChanged); + this.client.addEventListener("diagnostics", this.diagnosticsListener); + this.device.addEventListener("status", this.onDeviceStatusChanged); // Is there a better way to do this? We can 't dispatch at this point. // It would be best to do this with initial state and avoid the dispatch. @@ -95,8 +98,8 @@ class LanguageServerView extends BaseLanguageServerView implements PluginValue { destroy() { this.destroyed = true; - this.client.removeListener("diagnostics", this.diagnosticsListener); - this.device.removeListener(EVENT_STATUS, this.onDeviceStatusChanged); + this.client.removeEventListener("diagnostics", this.diagnosticsListener); + this.device.removeEventListener("status", this.onDeviceStatusChanged); // We don't own the client/connection which might outlive us, just our notifications. } } diff --git a/src/fs/fs.test.ts b/src/fs/fs.test.ts index d3f2647fd..ab49a3aba 100644 --- a/src/fs/fs.test.ts +++ b/src/fs/fs.test.ts @@ -12,7 +12,6 @@ import { NullLogging } from "../deployment/default/logging"; import { BoardId } from "../device/board-id"; import { diff, - EVENT_PROJECT_UPDATED, FileSystem, MAIN_FILE, Project, @@ -55,7 +54,9 @@ describe("Filesystem", () => { beforeEach(() => { events = []; ufs = new FileSystem(logging, host, fsMicroPythonSource); - ufs.addListener(EVENT_PROJECT_UPDATED, events.push.bind(events)); + ufs.addEventListener("project_updated", (e) => { + events.push(e.project); + }); }); it("has an initial blank project", async () => { diff --git a/src/fs/fs.ts b/src/fs/fs.ts index 159ce94d5..c11a8025e 100644 --- a/src/fs/fs.ts +++ b/src/fs/fs.ts @@ -8,7 +8,6 @@ import { MicropythonFsHex, } from "@microbit/microbit-fs"; import { fromByteArray, toByteArray } from "base64-js"; -import EventEmitter from "events"; import sortBy from "lodash.sortby"; import { lineNumFromUint8Array } from "../common/text-util"; import { BoardId } from "../device/board-id"; @@ -19,6 +18,7 @@ import { asciiToBytes, extractModuleData, generateId } from "./fs-util"; import { Host } from "./host"; import { PythonProject } from "./initial-project"; import { FSStorage } from "./storage"; +import { TypedEventTarget } from "../common/events"; const commonFsSize = 20 * 1024; @@ -133,8 +133,22 @@ export const diff = (before: Project, after: Project): FileChange[] => { return result; }; -export const EVENT_PROJECT_UPDATED = "project_updated"; -export const EVENT_TEXT_EDIT = "file_text_updated"; +export class ProjectUpdatedEvent extends Event { + constructor(public readonly project: Project) { + super("project_updated"); + } +} +export class TextEditEvent extends Event { + constructor() { + super("file_text_updated"); + } +} + +class EventMap { + "project_updated": ProjectUpdatedEvent; + "file_text_updated": TextEditEvent; +} + export const MAIN_FILE = "main.py"; export const isNameLengthValid = (filename: string): boolean => @@ -153,7 +167,10 @@ export const isNameLengthValid = (filename: string): boolean => * or fire any events. This plays well with uncontrolled embeddings of * third-party text editors. */ -export class FileSystem extends EventEmitter implements FlashDataSource { +export class FileSystem + extends TypedEventTarget + implements FlashDataSource +{ private initializing: Promise | undefined; private storage: FSStorage; private fileVersions: Map = new Map(); @@ -303,7 +320,7 @@ export class FileSystem extends EventEmitter implements FlashDataSource { this.incrementFileVersion(filename); return this.notify(); } else { - this.emit(EVENT_TEXT_EDIT); + this.dispatchTypedEvent("file_text_updated", new TextEditEvent()); // Nothing can have changed, don't needlessly change the identity of our file objects. return this.markDirty(); } @@ -427,7 +444,10 @@ export class FileSystem extends EventEmitter implements FlashDataSource { name: await this.storage.projectName(), files: filesSorted, }; - this.emit(EVENT_PROJECT_UPDATED, this.project); + this.dispatchTypedEvent( + "project_updated", + new ProjectUpdatedEvent(this.project) + ); } async toHexForSave(): Promise { diff --git a/src/fs/host-iframe.test.ts b/src/fs/host-iframe.test.ts index aea454d1a..aa30a789b 100644 --- a/src/fs/host-iframe.test.ts +++ b/src/fs/host-iframe.test.ts @@ -14,7 +14,7 @@ describe("IframeHost", () => { const fs = { read: () => new TextEncoder().encode("Code read!"), write: mockWrite, - addListener: mockAddListener, + addEventListener: mockAddListener, getPythonProject: () => "", } as any; diff --git a/src/fs/host.ts b/src/fs/host.ts index 6b58fe9e7..b49485cf6 100644 --- a/src/fs/host.ts +++ b/src/fs/host.ts @@ -4,13 +4,7 @@ * SPDX-License-Identifier: MIT */ import debounce from "lodash.debounce"; -import { - FileSystem, - VersionAction, - EVENT_PROJECT_UPDATED, - EVENT_TEXT_EDIT, - MAIN_FILE, -} from "./fs"; +import { FileSystem, VersionAction, MAIN_FILE } from "./fs"; import { Logging } from "../logging/logging"; import { defaultInitialProject, @@ -135,8 +129,8 @@ export class IframeHost implements Host { const debounceCodeChange = debounce(() => { notifyWorkspaceSave(fs, this.parent); }, this.debounceDelay); - fs.addListener(EVENT_PROJECT_UPDATED, debounceCodeChange); - fs.addListener(EVENT_TEXT_EDIT, debounceCodeChange); + fs.addEventListener("project_updated", debounceCodeChange); + fs.addEventListener("file_text_updated", debounceCodeChange); this.window.addEventListener("message", (event) => { if (event?.data.type === messages.type) { diff --git a/src/language-server/client-fs.ts b/src/language-server/client-fs.ts index 020e71b6d..a380bdddd 100644 --- a/src/language-server/client-fs.ts +++ b/src/language-server/client-fs.ts @@ -4,12 +4,12 @@ * SPDX-License-Identifier: MIT */ import { CreateFile, DeleteFile } from "vscode-languageserver-protocol"; -import { EVENT_PROJECT_UPDATED, FileSystem, Project, diff } from "../fs/fs"; +import { FileSystem, Project, ProjectUpdatedEvent, diff } from "../fs/fs"; import { isPythonFile } from "../project/project-utils"; import { LanguageServerClient, createUri } from "./client"; import { isErrorDueToDispose } from "./error-util"; -export type FsChangesListener = (current: Project) => any; +export type FsChangesListener = (event: ProjectUpdatedEvent) => any; /** * Updates the language server open files as the file system @@ -30,7 +30,8 @@ export const trackFsChanges = ( }; const documentText = async (name: string) => new TextDecoder().decode((await fs.read(name)).data); - const diffAndUpdateClient = async (current: Project) => { + const diffAndUpdateClient = async (event: ProjectUpdatedEvent) => { + const current = event.project; const changes = diff(previous, current).filter((c) => isPythonFile(c.name)); previous = current; try { @@ -86,8 +87,8 @@ export const trackFsChanges = ( } } }; - fs.addListener(EVENT_PROJECT_UPDATED, diffAndUpdateClient); - diffAndUpdateClient(fs.project); + fs.addEventListener("project_updated", diffAndUpdateClient); + diffAndUpdateClient(new ProjectUpdatedEvent(fs.project)); return diffAndUpdateClient; }; @@ -95,5 +96,5 @@ export const removeTrackFsChangesListener = ( fs: FileSystem, listener: FsChangesListener ): void => { - fs.removeListener(EVENT_PROJECT_UPDATED, listener); + fs.removeEventListener("project_updated", listener); }; diff --git a/src/language-server/client.ts b/src/language-server/client.ts index f8427d52f..701d03833 100644 --- a/src/language-server/client.ts +++ b/src/language-server/client.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: MIT */ -import EventEmitter from "events"; import { CompletionItem, CompletionList, @@ -37,12 +36,23 @@ import { } from "./error-util"; import { fallbackLocale } from "../settings/settings"; import { CreateToastFnReturn } from "@chakra-ui/react"; +import { TypedEventTarget } from "../common/events"; /** * Create a URI for a source document under the default root of file:///src/. */ export const createUri = (name: string) => `file:///src/${name}`; +export class DiagnosticsEvent extends Event { + constructor(public readonly detail: PublishDiagnosticsParams) { + super("diagnostics"); + } +} + +class EventMap { + "diagnostics": DiagnosticsEvent; +} + /** * Owns the connection. * @@ -51,7 +61,7 @@ export const createUri = (name: string) => `file:///src/${name}`; * * Tracks and exposes the diagnostics. */ -export class LanguageServerClient extends EventEmitter { +export class LanguageServerClient extends TypedEventTarget { /** * The capabilities of the server we're connected to. * Populated after initialize. @@ -70,14 +80,6 @@ export class LanguageServerClient extends EventEmitter { super(); } - on( - event: "diagnostics", - listener: (params: PublishDiagnosticsParams) => void - ): this { - super.on(event, listener); - return this; - } - currentDiagnostics(uri: string): Diagnostic[] { return this.diagnostics.get(uri) ?? []; } @@ -110,7 +112,10 @@ export class LanguageServerClient extends EventEmitter { (params) => { this.diagnostics.set(params.uri, params.diagnostics); // Republish as you can't listen twice. - this.emit("diagnostics", params); + this.dispatchTypedEvent( + "diagnostics", + new DiagnosticsEvent(params) + ); } ); this.connection.onRequest(RegistrationRequest.type, () => { diff --git a/src/project/project-actions.tsx b/src/project/project-actions.tsx index f370e1f60..ef9941443 100644 --- a/src/project/project-actions.tsx +++ b/src/project/project-actions.tsx @@ -22,7 +22,7 @@ import { ConnectionStatus, ConnectOptions, DeviceConnection, - EVENT_END_USB_SELECT, + EndUSBSelect as RequestDeviceEndEvent, HexGenerationError, WebUSBError, WebUSBErrorCode, @@ -830,7 +830,10 @@ export class ProjectActions { finalFocusRef: FinalFocusRef ) { if (e instanceof WebUSBError) { - this.device.emit(EVENT_END_USB_SELECT); + this.device.dispatchTypedEvent( + "end_usb_select", + new RequestDeviceEndEvent() + ); switch (e.code) { case "no-device-selected": { // User just cancelled the browser dialog, perhaps because there diff --git a/src/project/project-hooks.tsx b/src/project/project-hooks.tsx index fccc6aa4d..3d3449ad9 100644 --- a/src/project/project-hooks.tsx +++ b/src/project/project-hooks.tsx @@ -9,7 +9,7 @@ import useActionFeedback from "../common/use-action-feedback"; import { useDialogs } from "../common/use-dialogs"; import useIsUnmounted from "../common/use-is-unmounted"; import { useDevice } from "../device/device-hooks"; -import { EVENT_PROJECT_UPDATED, Project, VersionAction } from "../fs/fs"; +import { Project, VersionAction } from "../fs/fs"; import { useFileSystem } from "../fs/fs-hooks"; import { extractModuleData, @@ -92,9 +92,9 @@ export const useProject = (): DefaultedProject => { setState(defaultedProject(fs, intl)); } }; - fs.on(EVENT_PROJECT_UPDATED, listener); + fs.addEventListener("project_updated", listener); return () => { - fs.removeListener(EVENT_PROJECT_UPDATED, listener); + fs.removeEventListener("project_updated", listener); }; }, [fs, isUnmounted, intl]); return state; diff --git a/src/serial/XTerm.tsx b/src/serial/XTerm.tsx index 166c78281..0c1f61b50 100644 --- a/src/serial/XTerm.tsx +++ b/src/serial/XTerm.tsx @@ -12,7 +12,7 @@ import "xterm/css/xterm.css"; import useActionFeedback from "../common/use-action-feedback"; import useIsUnmounted from "../common/use-is-unmounted"; import { backgroundColorTerm } from "../deployment/misc"; -import { EVENT_SERIAL_DATA, EVENT_SERIAL_RESET } from "../device/device"; +import { SerialDataEvent } from "../device/device"; import { parseTraceLine, useDevice } from "../device/device-hooks"; import { useSelection } from "../workbench/use-selection"; import { WebLinkProvider } from "./link-provider"; @@ -96,9 +96,9 @@ const useManagedTermimal = ( customKeyEventHandler(e, tabOutRef) ); - const serialListener = (data: string) => { + const serialListener = (event: SerialDataEvent) => { if (!isUnmounted()) { - terminal.write(data); + terminal.write(event.data); } }; const resetListener = () => { @@ -106,8 +106,8 @@ const useManagedTermimal = ( terminal.reset(); } }; - device.on(EVENT_SERIAL_DATA, serialListener); - device.on(EVENT_SERIAL_RESET, resetListener); + device.addEventListener("serial_data", serialListener); + device.addEventListener("serial_reset", resetListener); terminal.onData((data: string) => { if (!isUnmounted()) { // Async for internal error handling, we don't need to wait. @@ -177,8 +177,8 @@ const useManagedTermimal = ( return () => { currentTerminalRef.current = undefined; - device.removeListener(EVENT_SERIAL_RESET, resetListener); - device.removeListener(EVENT_SERIAL_DATA, serialListener); + device.removeEventListener("serial_reset", resetListener); + device.removeEventListener("serial_data", serialListener); resizeObserver.disconnect(); terminal.dispose(); }; diff --git a/src/simulator/SimulatorActionBar.tsx b/src/simulator/SimulatorActionBar.tsx index 7951e4683..85e9e883f 100644 --- a/src/simulator/SimulatorActionBar.tsx +++ b/src/simulator/SimulatorActionBar.tsx @@ -17,7 +17,6 @@ import { useSimulator, useSyncStatus, } from "../device/device-hooks"; -import { EVENT_REQUEST_FLASH } from "../device/simulator"; import { useFileSystem } from "../fs/fs-hooks"; import { useLogging } from "../logging/logging-hooks"; import { RunningStatus } from "./Simulator"; @@ -71,9 +70,9 @@ const SimulatorActionBar = ({ setIsMuted(!isMuted); }, [device, isMuted, setIsMuted]); useEffect(() => { - device.on(EVENT_REQUEST_FLASH, handlePlay); + device.addEventListener("request_flash", handlePlay); return () => { - device.removeListener(EVENT_REQUEST_FLASH, handlePlay); + device.removeEventListener("request_flash", handlePlay); }; }, [device, handlePlay]); const size = "md"; diff --git a/src/simulator/SimulatorModules.tsx b/src/simulator/SimulatorModules.tsx index 130b7a0bd..e268e9a92 100644 --- a/src/simulator/SimulatorModules.tsx +++ b/src/simulator/SimulatorModules.tsx @@ -20,10 +20,10 @@ import { useIntl } from "react-intl"; import ExpandCollapseIcon from "../common/ExpandCollapseIcon"; import useRafState from "../common/use-raf-state"; import { - EVENT_STATE_CHANGE, RangeSensor as RangeSensorType, SensorStateKey, SimulatorState, + StateChangeEvent, } from "../device/simulator"; import { useRouterState } from "../router-hooks"; import ButtonsModule from "./ButtonsModule"; @@ -110,9 +110,12 @@ const SimulatorModules = ({ running, ...props }: SimulatorModulesProps) => { ); const intl = useIntl(); useEffect(() => { - device.on(EVENT_STATE_CHANGE, setState); + const listener = (event: StateChangeEvent) => { + setState(event.state); + }; + device.addEventListener("state_change", listener); return () => { - device.removeListener(EVENT_STATE_CHANGE, setState); + device.removeEventListener("state_change", listener); }; }, [device, setState]); const handleSensorChange = useCallback( diff --git a/src/simulator/data-logging-hooks.tsx b/src/simulator/data-logging-hooks.tsx index e66d34283..3ea7729b3 100644 --- a/src/simulator/data-logging-hooks.tsx +++ b/src/simulator/data-logging-hooks.tsx @@ -1,15 +1,18 @@ import React, { ReactNode, useContext, useEffect } from "react"; import useRafState from "../common/use-raf-state"; import { useSimulator } from "../device/device-hooks"; -import { DataLog, EVENT_LOG_DATA } from "../device/simulator"; +import { DataLog, LogDataEvent } from "../device/simulator"; const useDataLogInternal = (): DataLog => { const simulator = useSimulator(); const [value, setValue] = useRafState(simulator.log); useEffect(() => { - simulator.on(EVENT_LOG_DATA, setValue); + const listener = (event: LogDataEvent) => { + setValue(event.log); + }; + simulator.addEventListener("log_data", listener); return () => { - simulator.removeListener(EVENT_LOG_DATA, setValue); + simulator.removeEventListener("log_data", listener); }; }, [simulator, setValue]); return value; diff --git a/src/simulator/radio-hooks.tsx b/src/simulator/radio-hooks.tsx index 155fb9c4f..ea69a65b7 100644 --- a/src/simulator/radio-hooks.tsx +++ b/src/simulator/radio-hooks.tsx @@ -7,7 +7,7 @@ import React, { useState, } from "react"; import { useSimulator } from "../device/device-hooks"; -import { EVENT_RADIO_DATA, EVENT_RADIO_RESET } from "../device/simulator"; +import { RadioDataEvent } from "../device/simulator"; const messageLimit = 100; let idSeq = 0; @@ -52,7 +52,8 @@ const useRadioChatItemsInternal = ( }, [group, prevGroup]); useEffect(() => { - const handleReceive = (message: string) => { + const handleReceive = (event: RadioDataEvent) => { + const message = event.text; setItems((items) => cappedMessages([ ...items, @@ -63,11 +64,11 @@ const useRadioChatItemsInternal = ( const handleReset = () => { setItems([{ type: "groupChange", group, id: idSeq++ }]); }; - device.on(EVENT_RADIO_DATA, handleReceive); - device.on(EVENT_RADIO_RESET, handleReset); + device.addEventListener("radio_data", handleReceive); + device.addEventListener("radio_reset", handleReset); return () => { - device.removeListener(EVENT_RADIO_RESET, handleReset); - device.removeListener(EVENT_RADIO_DATA, handleReceive); + device.removeEventListener("radio_reset", handleReset); + device.removeEventListener("radio_data", handleReceive); }; }, [device, group]); const handleSend = useCallback( diff --git a/src/workbench/Workbench.tsx b/src/workbench/Workbench.tsx index c9c685e36..cfa91055e 100644 --- a/src/workbench/Workbench.tsx +++ b/src/workbench/Workbench.tsx @@ -23,7 +23,7 @@ import { SizedMode } from "../common/SplitView/SplitView"; import { ConnectionStatus } from "../device/device"; import { useConnectionStatus } from "../device/device-hooks"; import EditorArea from "../editor/EditorArea"; -import { MAIN_FILE } from "../fs/fs"; +import { FileVersion, MAIN_FILE } from "../fs/fs"; import { useProject } from "../project/project-hooks"; import ProjectActionBar from "../project/ProjectActionBar"; import SerialArea from "../serial/SerialArea"; @@ -31,35 +31,39 @@ import { useSettings } from "../settings/settings"; import Simulator from "../simulator/Simulator"; import Overlay from "./connect-dialogs/Overlay"; import SideBar from "./SideBar"; -import { useSelection } from "./use-selection"; +import { WorkbenchSelection, useSelection } from "./use-selection"; import { flags } from "../flags"; const minimums: [number, number] = [380, 580]; const simulatorMinimums: [number, number] = [275, 0]; +const defaultSelection = ( + selection: WorkbenchSelection, + files: FileVersion[] +) => { + // Selected file deleted? Default it. + if (!files.find((x) => x.name === selection.file) && files.length > 0) { + const defaultFile = files.find((x) => x.name === MAIN_FILE) ?? files[0]; + return { file: defaultFile.name, location: { line: undefined } }; + } + return selection; +}; + /** * The main app layout with resizable panels. */ const Workbench = () => { - const [selection, setSelection] = useSelection(); const intl = useIntl(); + + const [maybeInvalidSelection, setSelection] = useSelection(); const { files } = useProject(); + const selection = defaultSelection(maybeInvalidSelection, files); const setSelectedFile = useCallback( (file: string) => { setSelection({ file, location: { line: undefined } }); }, [setSelection] ); - useEffect(() => { - // No file yet or selected file deleted? Default it. - if ( - (!selection || !files.find((x) => x.name === selection.file)) && - files.length > 0 - ) { - const defaultFile = files.find((x) => x.name === MAIN_FILE) || files[0]; - setSelectedFile(defaultFile.name); - } - }, [selection, setSelectedFile, files]); useEffect(() => { const scriptId = "crowdin-jipt"; diff --git a/src/workbench/connect-dialogs/Overlay.tsx b/src/workbench/connect-dialogs/Overlay.tsx index 7fd28bde6..5d92f2e0d 100644 --- a/src/workbench/connect-dialogs/Overlay.tsx +++ b/src/workbench/connect-dialogs/Overlay.tsx @@ -6,10 +6,6 @@ import { Box, useDisclosure } from "@chakra-ui/react"; import { useCallback, useEffect } from "react"; import { zIndexOverlay } from "../../common/zIndex"; -import { - EVENT_END_USB_SELECT, - EVENT_START_USB_SELECT, -} from "../../device/device"; import { useDevice } from "../../device/device-hooks"; const Overlay = () => { @@ -22,11 +18,11 @@ const Overlay = () => { selectingDevice.onClose(); }, [selectingDevice]); useEffect(() => { - device.on(EVENT_START_USB_SELECT, showOverlay); - device.on(EVENT_END_USB_SELECT, hideOverlay); + device.addEventListener("start_usb_select", showOverlay); + device.addEventListener("end_usb_select", hideOverlay); return () => { - device.removeListener(EVENT_START_USB_SELECT, showOverlay); - device.removeListener(EVENT_END_USB_SELECT, hideOverlay); + device.removeEventListener("start_usb_select", showOverlay); + device.removeEventListener("end_usb_select", hideOverlay); }; }, [device, showOverlay, hideOverlay]); return ( From ef6dc2111e625e3d9acc3d0922bbfefaadb79cba Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Fri, 23 Aug 2024 13:45:27 +0100 Subject: [PATCH 12/19] Translation sync & add pl as preview (#1191) * Translation sync & add pl as preview * Update for Pyright chunk name fix --- bin/update-translations.sh | 2 +- lang/ui.ca.json | 14 +- lang/ui.de.json | 14 +- lang/ui.es-es.json | 14 +- lang/ui.fr.json | 14 +- lang/ui.ja.json | 14 +- lang/ui.ko.json | 20 +- lang/ui.lol.json | 16 +- lang/ui.nl.json | 14 +- lang/ui.pl.json | 1181 ++++++++ lang/ui.zh-cn.json | 14 +- lang/ui.zh-tw.json | 20 +- ...cale-de-913-6516fe648e06c3175b0d.worker.js | 1 - ...cale-de-913-730fd6415f89b500d131.worker.js | 1 + ...le-lol-598-50989152ee9593f45224.worker.js} | 2 +- ...cale-pl-640-916ad70220e047f7ef47.worker.js | 1 + ...yright-main-382ffb2ee9671656ad85.worker.js | 3 - ...ht-main-382ffb2ee9671656ad85.worker.js.map | 1 - ...yright-main-732a35e9ffa0a3bb98be.worker.js | 3 + ...32a35e9ffa0a3bb98be.worker.js.LICENSE.txt} | 0 ...ht-main-732a35e9ffa0a3bb98be.worker.js.map | 1 + src/language-server/pyright.ts | 2 +- src/messages/TranslationProvider.tsx | 2 + src/messages/ui.ca.json | 68 +- src/messages/ui.de.json | 68 +- src/messages/ui.es-es.json | 68 +- src/messages/ui.fr.json | 70 +- src/messages/ui.ja.json | 68 +- src/messages/ui.ko.json | 20 +- src/messages/ui.lol.json | 18 +- src/messages/ui.nl.json | 68 +- src/messages/ui.pl.json | 2666 +++++++++++++++++ src/messages/ui.zh-cn.json | 68 +- src/messages/ui.zh-tw.json | 74 +- src/micropython/main/typeshed.ca.json | 2 +- src/micropython/main/typeshed.de.json | 2 +- src/micropython/main/typeshed.es-es.json | 2 +- src/micropython/main/typeshed.fr.json | 2 +- src/micropython/main/typeshed.ja.json | 2 +- src/micropython/main/typeshed.ko.json | 6 +- src/micropython/main/typeshed.lol.json | 2 +- src/micropython/main/typeshed.nl.json | 2 +- src/micropython/main/typeshed.pl.json | 51 + src/micropython/main/typeshed.zh-cn.json | 2 +- src/micropython/main/typeshed.zh-tw.json | 2 +- src/settings/settings.tsx | 6 + 46 files changed, 4512 insertions(+), 179 deletions(-) create mode 100644 lang/ui.pl.json delete mode 100644 public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js create mode 100644 public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js rename public/workers/{pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js => pyright-locale-lol-598-50989152ee9593f45224.worker.js} (65%) create mode 100644 public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js delete mode 100644 public/workers/pyright-main-382ffb2ee9671656ad85.worker.js delete mode 100644 public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map create mode 100644 public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js rename public/workers/{pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt => pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt} (100%) create mode 100644 public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map create mode 100644 src/messages/ui.pl.json create mode 100644 src/micropython/main/typeshed.pl.json diff --git a/bin/update-translations.sh b/bin/update-translations.sh index c2bbfc4ac..7934252af 100755 --- a/bin/update-translations.sh +++ b/bin/update-translations.sh @@ -15,7 +15,7 @@ if [ $# -eq 0 ]; then exit 1 fi -languages="ca de fr es-ES ja ko nl zh-CN zh-TW lol" +languages="ca de fr es-ES ja ko nl pl zh-CN zh-TW lol" mkdir -p crowdin/translated for language in $languages; do diff --git a/lang/ui.ca.json b/lang/ui.ca.json index e501c2304..3a9487ea8 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "La imatge no està disponible fora de línia", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "Mostra advertències sobre funcions només de la V2", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "Els avisos es mostren a l'editor quan es connecta un micro:bit V1", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "Desactiva els avisos sobre les funcions només de la V2", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "No es pot sol·licitar la interfície", + "defaultMessage": "Una altra pàgina o pestanya del navegador està connectada a aquesta micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Torna a connectar la teva micro:bit i torna-ho a provar.", + "defaultMessage": "

    Segueix aquests passos i, a continuació, torna-ho a provar:

    • desendolla el cable USB
    • desendolla la bateria si n'hi ha cap connectada
    • torna a connectar el cable USB
    • torna a connectar la bateria si n'hi havia una
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "vídeo de presentació de l'editor Python", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.de.json b/lang/ui.de.json index a6b761bdd..acf49b770 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "Bild offline nicht verfügbar", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "Warnungen über Nur-V2-Funktionen anzeigen", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "Warnungen über Nur-V2-Funktionen deaktivieren", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "Schnittstelle konnte nicht beansprucht werden", + "defaultMessage": "Eine andere Seite oder ein Browser-Tab ist mit diesem micro:bit verbunden", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Bitte schließe deinen micro:bit erneut an und versuche es nochmal.", + "defaultMessage": "

    Bitte folge diesen Schritten, dann versuche es erneut:

    • trenne das USB-Kabel
    • entferne das Akku-Paket, wenn angeschlossen
    • verbinden das USB-Kabel erneut
    • verbinde das Akku-Paket erneut, wenn angeschlossen
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "Videoeinführung des Python Editors", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index 4e8f01325..014cc6e0f 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "Imagen no disponible sin conexión", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "Mostrar advertencias sobre funciones exclusivas de la V2", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "Las advertencias se muestran en el editor cuando se conecta un micro:bit V1", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "Desactivar las advertencias sobre funciones exclusivas de la V2", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "No se ha podido solicitar interfaz", + "defaultMessage": "Otra página o pestaña del navegador está conectada a este micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Por favor reconecta el micro:bit e intentalo de nuevo.", + "defaultMessage": "

    Por favor, sigue estos pasos y vuelve a intentarlo:

    • desconecta el cable USB
    • desenchufa la batería si la tiene instalada
    • vuelve a conectar el cable USB
    • vuelve a conectar el paquete de baterías si estaba conectado
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "vídeo de introducción al editor de Python", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 2aaba3235..7f19e35a5 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "Image indisponible hors ligne", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "Afficher les avertissements sur les fonctionnalités disponibles uniquement sur le V2", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "Les avertissements sont affichés dans l'éditeur quand un micro:bit V1 est connecté", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "Désactiver les avertissements concernant les fonctionnalités disponibles sur le V2 uniquement", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "Impossible de demander l’interface", + "defaultMessage": "Une autre page ou un autre onglet est connecté à ce micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Veuillez reconnecter votre micro:bit et réessayer.", + "defaultMessage": "

    Veuillez suivre les étapes suivantes, puis réessayez :

    • débranchez le câble USB
    • débranchez le bloc-batterie s'il y en a un
    • reconnectez le câble USB
    • reconnectez le bloc-batterie s'il y en a un
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "vidéo explicative de l'éditeur Python", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.ja.json b/lang/ui.ja.json index 5003a0560..a34af86c4 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "画像がオフラインで利用できません", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "V2のみの機能に関する警告を表示する", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "micro:bitのV1が接続されていると、エディタに警告が表示されます", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "V2のみの機能に関する警告を無効にする", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "インタフェースを要求できません", + "defaultMessage": "このmicro:bitが別のページや別のブラウザタブで接続されています", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "micro:bitを再接続して、やり直してください。", + "defaultMessage": "

    次の手順にしたがって、もう一度お試しください:

    • USBケーブルを抜く
    • バッテリーパックを接続している場合は、それを抜く
    • USBケーブルを再接続する
    • バッテリーパックを接続していた場合は、それを再接続する
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "Pythonエディターを紹介する動画", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.ko.json b/lang/ui.ko.json index b031433cd..60e38c574 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -196,7 +196,7 @@ "description": "Text displayed when content fails to load" }, "cookies-action": { - "defaultMessage": "Cookies", + "defaultMessage": "쿠키", "description": "Action to show dialog to choose website cookie preferences" }, "copied": { @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "이미지는 오프라인에서 사용할 수 없습니다.", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "V2 전용 기능에 대한 경고 표시", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "micro:bit V1이 연결되면 편집기에 경고가 표시됩니다.", "description": "Checkbox setting label" }, "settings": { @@ -967,7 +967,7 @@ "description": "Radio simulator panel title" }, "simulator-radio-code": { - "defaultMessage": "micro:bit sent:", + "defaultMessage": "micro:bit 전송된:", "description": "Visually hidden text for a radio message sent from the simulated micro:bit. Text of the message follows." }, "simulator-radio-group-notice": { @@ -995,7 +995,7 @@ "description": "Aria label for the simulator radio send button" }, "simulator-radio-user": { - "defaultMessage": "You sent:", + "defaultMessage": "너가 보냈다:", "description": "Visually hidden text for a radio message sent from the user to the simulated micro:bit. Text of the message follows." }, "simulator-reference-link": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "V2 전용 기능에 대한 경고 비활성화", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "인터페이스 수령 실패", + "defaultMessage": "다른 페이지나 브라우저 탭이 이 micro:bit에 연결되어 있습니다.", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "micro:bit 연결을 확인한 후, 다시 시도해 보세요.", + "defaultMessage": "다른 페이지나 브라우저 탭이 이 micro:bit에 연결되어 있습니다.", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "Python 편집기를 소개하는 비디오", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.lol.json b/lang/ui.lol.json index e22ef6e7d..d8273f769 100644 --- a/lang/ui.lol.json +++ b/lang/ui.lol.json @@ -510,6 +510,10 @@ "defaultMessage": "crwdns331608:0crwdne331608:0", "description": "Text in the no micro:bit found dialog" }, + "offline-image-alt": { + "defaultMessage": "crwdns359874:0crwdne359874:0", + "description": "Alt text for an image placeholder when the user is offline" + }, "open-action": { "defaultMessage": "crwdns331610:0crwdne331610:0", "description": "Open button text" @@ -743,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "crwdns359862:0crwdne359862:0", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "crwdns359864:0crwdne359864:0", "description": "Checkbox setting label" }, "settings": { @@ -1119,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "crwdns359866:0crwdne359866:0", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1131,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "crwdns331790:0crwdne331790:0", + "defaultMessage": "crwdns359868:0crwdne359868:0", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1139,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "crwdns331794:0crwdne331794:0", + "defaultMessage": "crwdns359870:0crwdne359870:0", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1163,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "crwdns359872:0crwdne359872:0", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.nl.json b/lang/ui.nl.json index c926baea2..bb038b593 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "Afbeelding offline niet beschikbaar", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "Toon waarschuwingen over de functies die alleen voor V2 van toepassing zijn", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "Waarschuwingen worden weergegeven in de editor wanneer een micro:bit V1 is aangesloten", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "Schakel waarschuwingen uit over de functies die alleen voor V2 van toepassing zijn", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "Kan interface niet opeisen", + "defaultMessage": "Een andere pagina of browser tab is verbonden met deze micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "Verbind je micro:bit opnieuw en probeer het nog eens.", + "defaultMessage": "

    Volg de volgende stappen en probeer dan opnieuw:

    • maak de USB-kabel los
    • maak het batterijpakket los als dat aangesloten is
    • sluit de USB-kabel weer aan
    • sluit het batterijpakket weer aan als dat aangesloten was
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "video die de Python Editor introduceert", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.pl.json b/lang/ui.pl.json new file mode 100644 index 000000000..fa63abcfd --- /dev/null +++ b/lang/ui.pl.json @@ -0,0 +1,1181 @@ +{ + "about": { + "defaultMessage": "O programie", + "description": "About action" + }, + "about-comic": { + "defaultMessage": "Trzy panele komiksowe zatytułowane \"MicroPython Rocks\" autorstwa Mike Rowbit. Wąż kartonowy wprowadza Damien, mówiąc \"Poznaj Damien... Stworzył MicroPythona.\". Dwa węży dyskutują o MicroPythonie. Żółty wąż mówi \"MicroPython jest zaprojektowany do pracy na bardzo małych komputerach. \"Jak Twój BBC micro:bit\" odpowiada fioletowy węż.\" Wąż żółty kontynuuje \"Ale Python może działać gdziekolwiek\". Fioletowy wąż zgadza się, mówiąc \"Podobnie jak na tym zestawie serwerów, które uruchamiają ogromne strony internetowe\". Tło za wężami pokazuje serwery.", + "description": "Alt text for comic in the about dialog" + }, + "about-microbit": { + "defaultMessage": "Wykonane z miłością przez Micro:bit Educational Foundation i współtwórców", + "description": "Text in about dialog" + }, + "about-micropython": { + "defaultMessage": "Edytor bazuje na MicroPython, którego twórcą jest Damien George i społeczność programistów z całego świata.", + "description": "Text in about dialog" + }, + "about-read-less-micropython": { + "defaultMessage": "Orzeczytaj mniej o MicroPythonie", + "description": "Aria label to collapse an expanded section about MicroPython" + }, + "about-read-more-micropython": { + "defaultMessage": "Dowiedz się więcej o MicroPythonie", + "description": "Aria label to expand a collapsed section about MicroPython" + }, + "added-change": { + "defaultMessage": "Dodany plik {changeName}", + "description": "Change made to file" + }, + "api-description": { + "defaultMessage": "Aby użyć i dla przykładów zobacz Odniesienie", + "description": "Extended description at the top of the API tab" + }, + "api-tab": { + "defaultMessage": "API", + "description": "API tab button text" + }, + "apidocs-baseclass": { + "defaultMessage": "{baseClassCount, plural, one {bazowa klasa} few {bazowe klasy: } many {bazowe klasy: } other {bazowe klasy: }}", + "description": "Prefix for a single base class or a list of base classes. Uses ICU syntax for pluralisation: https://formatjs.io/docs/core-concepts/icu-syntax/#plural-format." + }, + "apidocs-classes": { + "defaultMessage": "Klasy", + "description": "Heading in API documentation for the classes in a Python module" + }, + "apidocs-fields": { + "defaultMessage": "Pola", + "description": "Heading in API documentation for the fields in a Python module" + }, + "apidocs-functions": { + "defaultMessage": "Funkcje", + "description": "Heading in API documentation for the functions in a Python module" + }, + "apidocs-methods": { + "defaultMessage": "Metody", + "description": "Heading in API documentation for the methods in a Python class" + }, + "back-action": { + "defaultMessage": "Wróć", + "description": "Back button text" + }, + "back-to-main": { + "defaultMessage": "wróć do głównego kodu", + "description": "Text button, takes back to main code" + }, + "cancel-action": { + "defaultMessage": "Anuluj", + "description": "Cancel button text" + }, + "change-files": { + "defaultMessage": "Zmienić pliki?", + "description": "Header for dialog of confirmation of files changed" + }, + "choose-main-add-file": { + "defaultMessage": "Dodaj plik {name}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-add-module": { + "defaultMessage": "Dodaj moduł {name}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-replace-file": { + "defaultMessage": "Zastąp plik {name}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-replace-module": { + "defaultMessage": "Zastąp moduł {name}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-source-add-file": { + "defaultMessage": "Dodaj plik {target} z {source}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-source-add-main-code": { + "defaultMessage": "Dodaj kod główny z {source}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-source-replace-file": { + "defaultMessage": "Zastąp plik {target} z {source}", + "description": "Shown in load dialog to confirm actions" + }, + "choose-main-source-replace-main-code": { + "defaultMessage": "Zastąp kod główny z {source}", + "description": "Shown in load dialog to confirm actions" + }, + "clear": { + "defaultMessage": "Wyczyść", + "description": "Aria label for the search input" + }, + "close-action": { + "defaultMessage": "Zamknij", + "description": "Close button text" + }, + "code-editor": { + "defaultMessage": "Edytor kodu", + "description": "Aria label for the code editor" + }, + "code-example": { + "defaultMessage": "Przykład kodu:", + "description": "Visually hidden text to announce code examples in the toolkit documentation" + }, + "confirm-action": { + "defaultMessage": "Potwierdź", + "description": "Confirm action label" + }, + "confirm-delete": { + "defaultMessage": "Potwierdź usunięcie", + "description": "Confirmation header of deletion of a file" + }, + "confirm-replace-body": { + "defaultMessage": "Zastąpić wszystkie pliki tymi z hex?", + "description": "Confirmation message body for replacing project dialog" + }, + "confirm-replace-reset": { + "defaultMessage": "Zastąpić wszystkie pliki domyślnym kodem startowym?", + "description": "Confirmation message for the reset action" + }, + "confirm-replace-title": { + "defaultMessage": "Potwierdź zastąpienie projektu", + "description": "Confirmation message title for replacing project dialog" + }, + "confirm-replace-with-idea": { + "defaultMessage": "Zastąpić wszystkie pliki {ideaName}?", + "description": "Confirmation message body for replacing project dialog with an idea" + }, + "confirm-save-action": { + "defaultMessage": "Potwierdź i zapisz", + "description": "Confirm and save action label" + }, + "confirm-save-hint": { + "defaultMessage": "Anuluj następnie użycie Zapisz, aby zachować kopię projektu.", + "description": "Hint shown when the user has unsaved changes that they might lose if they continue with an action" + }, + "connect-action": { + "defaultMessage": "Podłącz", + "description": "Connect button text" + }, + "connect-cable-title": { + "defaultMessage": "Podłącz kabel", + "description": "Title for the connect cable dialog" + }, + "connect-help-alt": { + "defaultMessage": "Okno dialogowe połączenia WebUSB z BBC micro:bitem oznaczonym jako 1 i przycisk Połącz oznaczony jako 2", + "description": "Alt text for image in connect help dialog" + }, + "connect-help-message": { + "defaultMessage": "W następnym wyskakującym oknie:", + "description": "Text in the connect help dialog" + }, + "connect-help-one": { + "defaultMessage": "Wybierz swój micro:bit", + "description": "Legend text for the connect help dialog image" + }, + "connect-help-title": { + "defaultMessage": "Wybierz micro:bit", + "description": "Title for the connect help dialog" + }, + "connect-help-two": { + "defaultMessage": "Wybierz „Połącz”", + "description": "Legend text for the connect help dialog image" + }, + "connect-hover": { + "defaultMessage": "Połącz się ze swoim micro:bitem przez WebUSB", + "description": "Connect button hover text" + }, + "connect-microbit": { + "defaultMessage": "Połącz się ze swoim micro:bitem, aby zobaczyć wyjście szeregowe tutaj", + "description": "Text in serial area" + }, + "connect-troubleshoot": { + "defaultMessage": "Problemy z połączeniem się z Twoim micro:bitem", + "description": "Text in no the micro:bit found and firmware update dialogs" + }, + "content-load-error": { + "defaultMessage": "Coś poszło nie tak. Pobierz swój plik hex dla bezpiecznego przechowania, a następnie odśwież stronę, aby przeładować.", + "description": "Text displayed when content fails to load" + }, + "cookies-action": { + "defaultMessage": "Cookies (Ciasteczka)", + "description": "Action to show dialog to choose website cookie preferences" + }, + "copied": { + "defaultMessage": "Skopiowane", + "description": "Text shown after copy to clipboard" + }, + "copy-action": { + "defaultMessage": "Kopiuj", + "description": "Copy to clipboard action text" + }, + "copy-code-action": { + "defaultMessage": "Skopiuj kod", + "description": "Copy code to clipboard action text" + }, + "create-action": { + "defaultMessage": "Twórz", + "description": "Create action label (e.g. in create file dialog)" + }, + "create-file-action": { + "defaultMessage": "Utwórz plik", + "description": "Button text for action that creates a new blank Python file in the current project" + }, + "create-python": { + "defaultMessage": "Utwórz nowy plik Pythona w tym projekcie", + "description": "Hover and dialog title when creating a new Python file" + }, + "created-file": { + "defaultMessage": "Utworzono {filename}", + "description": "Action feedback for creating a file" + }, + "delete-action": { + "defaultMessage": "Usuń", + "description": "Button text for delete action" + }, + "delete-file-action": { + "defaultMessage": "Usuń {name}", + "description": "Menu option to delete file" + }, + "deleted-file": { + "defaultMessage": "Usunięto {filename}", + "description": "Confirmation message that file got deleted" + }, + "disconnect-action": { + "defaultMessage": "Odłącz", + "description": "Disconnect button text" + }, + "disconnect-hover": { + "defaultMessage": "Odłącz od swojego micro:bit", + "description": "Disconnect button hover text" + }, + "dont-show-again": { + "defaultMessage": "Nie pokazuj tego ponownie", + "description": "Text to never show a dialog again" + }, + "drag-hover": { + "defaultMessage": "Przeciągnij i upuść", + "description": "Draggable code hover text" + }, + "edit-file-action": { + "defaultMessage": "Edytuj {name}", + "description": "Menu option to edit file" + }, + "edit-name-project-hover": { + "defaultMessage": "Edytuj nazwę swojego projektu", + "description": "Text for user to edit the name of the project" + }, + "edit-project-name-action": { + "defaultMessage": "Edytuj nazwę projektu", + "description": "Text for user to edit the name of the project" + }, + "failed-to-build-hex": { + "defaultMessage": "Nie udało się utworzyć pliku hex", + "description": "Error title when we cannot build the hex file, for example because no storage space. Additional detail is shown separately." + }, + "feedback": { + "defaultMessage": "Informacje zwrotne", + "description": "Feedback action" + }, + "file-actions": { + "defaultMessage": "Akcje z plikiem {name}", + "description": "Header of file actions for file" + }, + "file-already-exists": { + "defaultMessage": "Ten plik już istnieje", + "description": "File already exists notification text" + }, + "file-name-invalid-character": { + "defaultMessage": "Nazwa zawiera nieprawidłowy znak: {invalid}", + "description": "Warning text for new Python file name with an invalid character" + }, + "file-name-length": { + "defaultMessage": "Nazwa jest zbyt długa", + "description": "Warning text for overly long file names (file system limitation)" + }, + "file-name-lowercase-only": { + "defaultMessage": "Nazwa powinna być małymi literami", + "description": "Warning text for new Python file with uppercase" + }, + "file-name-not-empty": { + "defaultMessage": "Nazwa nie może być pusta", + "description": "Warning text for new Python file with empty name" + }, + "file-name-start-number": { + "defaultMessage": "Nazwa nie może rozpoczynać się cyfrą", + "description": "Warning text for new Python file names starting with a number" + }, + "file-name-whitespace": { + "defaultMessage": "Nazwa nie może zawierać spacji", + "description": "Warning text for new Python file name with whitespace" + }, + "firmware-update-link": { + "defaultMessage": "Zanim będziesz mógł połączyć się z tym micro:bitem, musisz zaktualizować oprogramowanie sprzętowe.", + "description": "Text in the firmware update dialog" + }, + "firmware-update-message": { + "defaultMessage": "Połączenie z micro:bitem nie powiodło się, ponieważ oprogramowanie firmowe na micro:bicie jest zbyt stare.", + "description": "Text in the firmware update dialog" + }, + "firmware-update-title": { + "defaultMessage": "Wymagana jest aktualizacja oprogramowania firmowego", + "description": "Title for the firmware update dialog" + }, + "flash-action": { + "defaultMessage": "Zainstaluj", + "description": "Text for flash button" + }, + "flash-hover": { + "defaultMessage": "Załaduj swój projekt bezpośrednio na micro:bit", + "description": "Hover text over flash button" + }, + "flashing-code": { + "defaultMessage": "Wysyłanie kodu (flashing)", + "description": "Progress dialog text for partial flashes (quick)" + }, + "flashing-full-flash-detail": { + "defaultMessage": "Twój kod jest wysyłany (flashed) do Twojego micro:bita. To może zająć chwilę po raz pierwszy, ale później będzie szybciej.", + "description": "Message shown after the title in the progress dialog for a full flash" + }, + "flashing-micropython": { + "defaultMessage": "Migający MicroPython", + "description": "Progress dialog text for full flashes (slower)" + }, + "font-size": { + "defaultMessage": "Rozmiar czcionki", + "description": "Font size option text" + }, + "guide-link": { + "defaultMessage": "Aby uzyskać więcej wsparcia, zobacz przewodnik Edytora Pythona", + "description": "Text with an external link to support/help content" + }, + "help": { + "defaultMessage": "Pomoc", + "description": "Help menu label" + }, + "help-support": { + "defaultMessage": "Pomoc i wsparcie", + "description": "Menu item for link to support site" + }, + "help-translate": { + "defaultMessage": "Pomóż tłumaczyć", + "description": "Help translate menu option text" + }, + "highlight-code-structure": { + "defaultMessage": "Podświetl strukturę kodu", + "description": "Code structure setting label" + }, + "highlight-code-structure-full": { + "defaultMessage": "Pełny", + "description": "Highlight code structure option" + }, + "highlight-code-structure-none": { + "defaultMessage": "Żaden", + "description": "Highlight code structure option" + }, + "highlight-code-structure-simple": { + "defaultMessage": "Prosty", + "description": "Highlight code structure option" + }, + "ideas-tab": { + "defaultMessage": "Pomysły", + "description": "Ideas tab button text. Tab shows programs to give students ideas." + }, + "ideas-tab-description": { + "defaultMessage": "Wypróbuj te projekty, zmodyfikuj je i poczuj się zainspirowany", + "description": "Ideas tab description text. Tab shows programs to give students ideas." + }, + "insert-code-action": { + "defaultMessage": "Wstaw kod" + }, + "language": { + "defaultMessage": "Język", + "description": "Language option text" + }, + "less-action": { + "defaultMessage": "Mniej", + "description": "Less button text (showing less content)" + }, + "load-error-makecode-info": { + "defaultMessage": "Ten plik hex nie może zostać załadowany do edytora Pythona. Edytor Pythona nie może otworzyć plików hex utworzonych przez Microsoft MakeCode.", + "description": "Load error message" + }, + "load-error-makecode-link": { + "defaultMessage": "Aby skorzystać z tego pliku hex, odwiedź stronę https://makecode.microbit.org/.", + "description": "Load error message" + }, + "load-error-mixed": { + "defaultMessage": "Plik hex może być załadowany tylko na własną rękę. Zastąpi on wszystkie pliki w projekcie.", + "description": "Load error message" + }, + "load-error-mpy": { + "defaultMessage": "Ta wersja edytora Python obecnie nie obsługuje dodawania plików .mpy.", + "description": "Load error message" + }, + "load-error-title": { + "defaultMessage": "Nie można załadować pliku {fileCount, plural, one {} few {pliki} many {pliki} other {pliki}}", + "description": "Title of error dialog when we cannot load files. Uses ICU syntax for pluralisation: https://formatjs.io/docs/core-concepts/icu-syntax/#plural-format." + }, + "loaded-file-feedback": { + "defaultMessage": "Załadowano {filename}", + "description": "Success feedback for loading file" + }, + "loading": { + "defaultMessage": "Ładowanie…", + "description": "Shown on loading indicators" + }, + "microbit-hearts-alt": { + "defaultMessage": "Płytka micro:bit z wyświetlaczem LED 5 na 5 pokazująca serce", + "description": "Alt text for micro:bit image in About dialog" + }, + "micropython-documentation": { + "defaultMessage": "Dokumentacja MicroPythona", + "description": "MicroPython documentation menu option text" + }, + "micropython-history": { + "defaultMessage": "Dowiedz się, jak pojawił się MicroPython na micro:bit", + "description": "Links to MicroPython history in the about dialog" + }, + "micropython-source-code": { + "defaultMessage": "Kod źródłowy MicroPythona dla micro:bit V1 i dla micro:bit V2", + "description": "Links to the MicroPython source code in the about dialog" + }, + "more-action": { + "defaultMessage": "Więcej", + "description": "More button text (showing more/further content)" + }, + "more-connect-options": { + "defaultMessage": "Więcej opcji połączenia", + "description": "Aria label for the additional actions menu to the right of the Send to micro:bit button" + }, + "more-ideas": { + "defaultMessage": "Więcej pomysłów", + "description": "Link to more ideas on the microbit.org website at the end of the ideas section" + }, + "more-save-options": { + "defaultMessage": "Więcej opcji zapisu", + "description": "Aria label for the additional actions menu to the right of the Save button" + }, + "multiple-files-message-one": { + "defaultMessage": "Ten projekt zawiera {fileCount, plural, one {} few {{fileCount} pliki} many {{fileCount} pliki}other {{fileCount} pliki}}, ale tylko main.py został pobrany.", + "description": "Message in dialog shown when multiple files are available for download. Uses ICU syntax for pluralisation: https://formatjs.io/docs/core-concepts/icu-syntax/#plural-format. In practice, fileCount will always be two or more." + }, + "multiple-files-message-two": { + "defaultMessage": "Użyj przycisku Save, aby pobrać cały swój projekt jako plik hex. Możesz Open plik hex, aby przywrócić swój projekt. Jeśli wolisz pobrać poszczególne pliki Pythona, użyj zakładki Project.", + "description": "Message in dialog shown when multiple files are available for download" + }, + "multiple-files-title": { + "defaultMessage": "Ostrzeżenie: pobrano tylko main.py", + "description": "Title of dialog shown when multiple files are available for download but only the main file downloaded." + }, + "name-project": { + "defaultMessage": "Nazwij swój projektu", + "description": "Name your project header" + }, + "name-text": { + "defaultMessage": "Nazwa", + "description": "Header for name field" + }, + "name-used-when": { + "defaultMessage": "Nazwa jest używana podczas zapisywania pliku.", + "description": "Text under project name field" + }, + "new-file-hint": { + "defaultMessage": "Dodamy rozszerzenie .py dla Ciebie.", + "description": "Hint shown in the new Python file dialog" + }, + "next-action": { + "defaultMessage": "Dalej", + "description": "Next button text" + }, + "not-found-checklist-one": { + "defaultMessage": "Czy Twój micro:bit jest podłączony? Czy wykonałeś te kroki?", + "description": "Checklist text in the no micro:bit found dialog" + }, + "not-found-checklist-two": { + "defaultMessage": "Jeśli masz micro:bit V1, może być konieczna aktualizacja oprogramowania firmowego", + "description": "Checklist text in the no micro:bit found dialog" + }, + "not-found-message": { + "defaultMessage": "Nie wybrałeś micro:bit lub wystąpił problem z połączeniem.", + "description": "Text in the no micro:bit found dialog" + }, + "not-found-save-message": { + "defaultMessage": "Alternatywna metoda: wybierz Zapisz, a następnie wykonaj kroki transferu", + "description": "Save prompt in the no micro:bit found dialog" + }, + "not-found-title": { + "defaultMessage": "Nie znaleziono micro:bita", + "description": "Title for the micro:bit found dialog" + }, + "not-found-update-link": { + "defaultMessage": "Zanim będziesz mógł połączyć się z tym micro:bitem, musisz zaktualizować oprogramowanie firmowe.", + "description": "Text in the no micro:bit found dialog" + }, + "offline-image-alt": { + "defaultMessage": "Obraz niedostępny w trybie offline", + "description": "Alt text for an image placeholder when the user is offline" + }, + "open-action": { + "defaultMessage": "Otwórz", + "description": "Open button text" + }, + "open-file-action": { + "defaultMessage": "Otwórz…", + "description": "Open file button text" + }, + "open-file-dropped": { + "defaultMessage": "Otwórz plik po upuszczeniu", + "description": "Aria label for file drop target" + }, + "open-hover": { + "defaultMessage": "Otwórz plik hex lub Pythona lub dodaj inne pliki", + "description": "Hover text over load button" + }, + "options": { + "defaultMessage": "Opcje", + "description": "Label for an options menu" + }, + "parameter-help": { + "defaultMessage": "Pomoc dot. parametru", + "description": "Setting label to control whether pop-up documentation for function/method parameters is automatically shown." + }, + "parameter-help-automatic": { + "defaultMessage": "Automatyczny", + "description": "Parameter help setting for when the parameter documentation is shown automatically" + }, + "parameter-help-manual": { + "defaultMessage": "Ręczny ({shortcut})", + "description": "Parameter help setting for when the user must press a key combination to open the parameter documentation" + }, + "permanently-delete": { + "defaultMessage": "Usuń na stałe {filename}?", + "description": "Confirmation question to permanently delete file" + }, + "post-save-message-files": { + "defaultMessage": "Zawiera wszystkie pliki w tym projekcie (w tym wszelkie dodatkowe pliki, np. do uruchomienia akcesoriów, wymienionych w karcie Project.", + "description": "Message in dialog shown after the user saves the project as a hex file." + }, + "post-save-message-one": { + "defaultMessage": "Plik hex znajdziesz w folderze Downloads.", + "description": "Message in dialog shown after the user saves the project as a hex file." + }, + "post-save-message-two": { + "defaultMessage": "Możesz przenieść go do innego folderu do przechowania i użyć Otwórz, aby kontynuować edycję później.", + "description": "Message in dialog shown after the user saves the project as a hex file." + }, + "post-save-title": { + "defaultMessage": "Projekt został zapisany!", + "description": "Title of dialog shown after the user saves the project as a hex file." + }, + "post-save-transfer-hex": { + "defaultMessage": "Aby uruchomić ten plik hex na micro:bicie, wykonaj te kroki.", + "description": "Message in dialog shown after the user saves the project as a hex file." + }, + "privacy-policy": { + "defaultMessage": "Polityka prywatności", + "description": "Privacy policy menu option text" + }, + "project-actions": { + "defaultMessage": "Działania w projekcie", + "description": "Aria label for the bar with project actions" + }, + "project-header": { + "defaultMessage": "Nagłówek projektu", + "description": "Aria label for the project header area" + }, + "project-name": { + "defaultMessage": "Nazwa projektu", + "description": "Text used to indicate the project name" + }, + "project-name-not-empty": { + "defaultMessage": "Nazwa projektu nie może być pusta", + "description": "Validation message for project name" + }, + "project-tab": { + "defaultMessage": "Projekt", + "description": "Project tab button text" + }, + "project-tab-description": { + "defaultMessage": "Przejrzyj, utwórz, dodaj i edytuj pliki w projekcie", + "description": "Project tab description" + }, + "python-powered": { + "defaultMessage": "Obsługiwany przez Python", + "description": "Python powered logo alt text" + }, + "python-tab": { + "defaultMessage": "Python", + "description": "Python tab text" + }, + "quit-anyway": { + "defaultMessage": "Niektóre z twoich zmian nie były zapisanę. Chcesz i tak zamknąć?", + "description": "Quit anyway text" + }, + "read-less": { + "defaultMessage": "Czytaj mniej", + "description": "Action text to collapse an expanded section" + }, + "read-more": { + "defaultMessage": "Dowiedz się więcej", + "description": "Action text to expand a collapsed section" + }, + "redo": { + "defaultMessage": "Ponów", + "description": "Aria label for the redo button" + }, + "reference-tab": { + "defaultMessage": "Referencje", + "description": "Reference tab button text" + }, + "replace-action-label": { + "defaultMessage": "Zastąp", + "description": "Action label for replacing project dialog" + }, + "reset-project-action": { + "defaultMessage": "Resetuj projekt", + "description": "Action to reset the project to its default state" + }, + "reset-project-feedback": { + "defaultMessage": "Reset projektu do domyślnego kodu startowego", + "description": "Confirmation message after resetting the project" + }, + "reset-project-hover": { + "defaultMessage": "Resetuje projekt do domyślnego kodu startowego, odrzucając Twoją pracę", + "description": "Reset action hover text" + }, + "results-count": { + "defaultMessage": "{count, plural, =0 {Brak wyników} one {# wynik} few {# wyników} many {# wyników} other {# wyników}}", + "description": "Number of results from a search. Uses ICU syntax for pluralisation: https://formatjs.io/docs/core-concepts/icu-syntax/#plural-format." + }, + "save-action": { + "defaultMessage": "Zapisz", + "description": "Save button text" + }, + "save-file-action": { + "defaultMessage": "Zapisz {name}", + "description": "Menu option to save a file" + }, + "save-hex-action": { + "defaultMessage": "Zapisz hex projektu", + "description": "Text for menu item for saving a project hex file" + }, + "save-hover": { + "defaultMessage": "Zapisz plik hex projektu na swoim komputerze", + "description": "Hover text over save button" + }, + "save-python-action": { + "defaultMessage": "Zapisz skrypt Pythona", + "description": "Save button menu option to save the Python script" + }, + "search": { + "defaultMessage": "Szukaj", + "description": "Aria label for searching documentation" + }, + "send-action": { + "defaultMessage": "Wyślij do micro:bita", + "description": "Send to micro:bit button text" + }, + "send-hover": { + "defaultMessage": "Połącz za pomocą WebUSB, a następnie wgraj kod na micro:bit", + "description": "Send button hover text" + }, + "serial-collapse": { + "defaultMessage": "Ukryj szeregowy", + "description": "Action label to collapse the serial console/REPL area" + }, + "serial-ctrl-c-action": { + "defaultMessage": "Wyślij Ctrl+C do REPL", + "description": "Button to trigger the Python REPL from the serial area" + }, + "serial-ctrl-d-action": { + "defaultMessage": "Wyślij Ctrl+Dm aby zresetować", + "description": "Button to reset the micro:bit from the serial area" + }, + "serial-expand": { + "defaultMessage": "Pokaż szeregowy", + "description": "Action label to expand the serial console/REPL area" + }, + "serial-flashed": { + "defaultMessage": "micro:bit załadowany", + "description": "Shown when your program is in sync with the micro:bit" + }, + "serial-help-ctrl-c": { + "defaultMessage": "Użyj skrótu klawiszowego Ctrl + C, aby przerwać program. Następnie możesz wpisać polecenia Pythona dla MicroPythona, aby uruchomić. To świetny sposób na eksperymentowanie z czymś nowym.", + "description": "Text from the serial hints and tips dialog. kbd tag shows a keyboard key style." + }, + "serial-help-ctrl-d": { + "defaultMessage": "Aby ponownie uruchomić program, użyj Ctrl + D.", + "description": "Text from the serial hints and tips dialog. kbd tag shows a keyboard key style." + }, + "serial-help-intro": { + "defaultMessage": "Terminal szeregowy pokazuje błędy i inne wyniki programu uruchomionego na Twoim micro:bicie. Domyślnie pokazuje najnowszy błąd programu. Rozwiń go, aby zobaczyć wszystkie wyniki.", + "description": "Text from the serial hints and tips dialog" + }, + "serial-help-print": { + "defaultMessage": "Twój program może drukować wiadomości za pomocą funkcji print. Spróbuj dodać print('micro:bit jest niesamowity') do swojego programu.", + "description": "Text from the serial hints and tips dialog. code tag shows monospaced font." + }, + "serial-help-title": { + "defaultMessage": "Wskazówki i porady dotyczące szeregowego", + "description": "Title for the serial hints and tips dialog" + }, + "serial-hints-and-tips": { + "defaultMessage": "Wskazówki i porady dotyczące szeregowego", + "description": "Link/button to open the serial hints and tips dialog" + }, + "serial-menu": { + "defaultMessage": "Menu szeregowego", + "description": "Aria label for serial area menu" + }, + "serial-ready-to-flash": { + "defaultMessage": "micro:bit gotowy do ładowania", + "description": "Shown when your program is out of sync with the micro:bit" + }, + "serial-running": { + "defaultMessage": "Uruchamianie…", + "description": "Indicator text when the micro:bit is running a program" + }, + "serial-terminal": { + "defaultMessage": "Terminal szeregowy", + "description": "Aria label for the serial terminal" + }, + "setting-allow-editing-third-party": { + "defaultMessage": "Zezwalaj na edycję modułów innych firm", + "description": "Checkbox setting label" + }, + "setting-allow-editing-third-party-info": { + "defaultMessage": "Zmiana modułów firm trzecich może oznaczać, że nie działają zgodnie z zamierzeniami.", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features": { + "defaultMessage": "Pokaż ostrzeżenia o funkcjach tylko V2", + "description": "Checkbox setting label" + }, + "setting-warn-on-v2-only-features-info": { + "defaultMessage": "Ostrzeżenia są wyświetlane w edytorze po podłączeniu micro:bit V1", + "description": "Checkbox setting label" + }, + "settings": { + "defaultMessage": "Ustawienia", + "description": "Settings text" + }, + "show-api-documentation": { + "defaultMessage": "Pokaż dokumentację API", + "description": "Shown on link from editor autocomplete and signature help to the API docs." + }, + "show-less": { + "defaultMessage": "Pokaż mniej", + "description": "Show less for general progressive disclosure" + }, + "show-less-for": { + "defaultMessage": "Pokaż mniej dla {item}", + "description": "Show less with item usually for aria label" + }, + "show-more": { + "defaultMessage": "Pokaż więcej", + "description": "Show more for general progressive disclosure" + }, + "show-more-for": { + "defaultMessage": "Pokaż więcej dla {item}", + "description": "Show more with item usually for aria label" + }, + "sidebar": { + "defaultMessage": "Panel boczny", + "description": "Aria label for the area on the left" + }, + "sidebar-collapse": { + "defaultMessage": "Zwiń pasek boczny", + "description": "Aria label for the collapse sidebar button" + }, + "sidebar-expand": { + "defaultMessage": "Poszerz pasek boczny", + "description": "Aria label for the expand sidebar button" + }, + "simulator-accelerometer": { + "defaultMessage": "Akcelerometr", + "description": "Simulator Accelerometer panel title" + }, + "simulator-actions": { + "defaultMessage": "Akcje symulatora", + "description": "Aria label for the bar with simulator actions (stop, mute etc)" + }, + "simulator-button-a": { + "defaultMessage": "Przycisk A", + "description": "Button A aria label on the simulator board" + }, + "simulator-button-b": { + "defaultMessage": "Przycisk B", + "description": "Button B aria label on the simulator board" + }, + "simulator-button-hold-label": { + "defaultMessage": "Przytrzymaj przycisk {button}", + "description": "Aria label for simulator toggle button" + }, + "simulator-button-press-label": { + "defaultMessage": "Naciśnij przycisk {button}", + "description": "Aria label for simulator push button" + }, + "simulator-buttons": { + "defaultMessage": "Przyciski", + "description": "Buttons simulator panel title" + }, + "simulator-collapse": { + "defaultMessage": "Zwiń symulator", + "description": "Aria label for the collapse simulator button" + }, + "simulator-collapse-module": { + "defaultMessage": "Zwiń moduł {title}", + "description": "Aria label for collapse simulator module button" + }, + "simulator-compass": { + "defaultMessage": "Kompas", + "description": "Compass simulator panel title" + }, + "simulator-compass-heading-one": { + "defaultMessage": "Nagłówek", + "description": "Sub heading for simulator Compass panel" + }, + "simulator-compass-heading-two": { + "defaultMessage": "Natężenie pola magnetycznego", + "description": "Sub heading for simulator Compass panel" + }, + "simulator-data-logging-empty": { + "defaultMessage": "Brak wpisów w dzienniku.", + "description": "Shown in the simulator Data logging table when there are no rows" + }, + "simulator-data-logging-full": { + "defaultMessage": "Dziennik pełny", + "description": "Shown below the simulator Data logging table to warn that the log is full" + }, + "simulator-data-logging-rows": { + "defaultMessage": "{count, plural, =0 {żaden wiersz nie zalogowany} one {# wiersz zalogowany} few {# wiersze zalogowane} many {# wierszy zalogowanych} other {# wierszy zalogowanych}}", + "description": "Indicator of the number of rows logged in the simulator Data logging table. Uses ICU syntax for pluralisation: https://formatjs.io/docs/core-concepts/icu-syntax/#plural-format." + }, + "simulator-data-logging-save-log": { + "defaultMessage": "Zapisz dziennik", + "description": "Action label to save the data log as a file from the Data logging simulator panel" + }, + "simulator-data-logging-truncated": { + "defaultMessage": "Starsze wiersze nie są pokazane", + "description": "Text shown in the simulator Data logging table to indicate that old rows have been omitted" + }, + "simulator-expand": { + "defaultMessage": "Rozwiń symulator", + "description": "Aria label for the expand simulator button" + }, + "simulator-expand-module": { + "defaultMessage": "Rozwiń moduł {title}", + "description": "Aria label for expand simulator module button" + }, + "simulator-gesture-3g": { + "defaultMessage": "3g", + "description": "Simulator gesture option" + }, + "simulator-gesture-6g": { + "defaultMessage": "6g", + "description": "Simulator gesture option" + }, + "simulator-gesture-8g": { + "defaultMessage": "8g", + "description": "Simulator gesture option" + }, + "simulator-gesture-down": { + "defaultMessage": "w dół", + "description": "Simulator gesture option" + }, + "simulator-gesture-face-down": { + "defaultMessage": "twarzą w dół", + "description": "Simulator gesture option" + }, + "simulator-gesture-face-up": { + "defaultMessage": "twarzą do góry", + "description": "Simulator gesture option" + }, + "simulator-gesture-freefall": { + "defaultMessage": "swobodne spadanie", + "description": "Simulator gesture option" + }, + "simulator-gesture-left": { + "defaultMessage": "w lewo", + "description": "Simulator gesture option" + }, + "simulator-gesture-right": { + "defaultMessage": "w prawo", + "description": "Simulator gesture option" + }, + "simulator-gesture-select": { + "defaultMessage": "Wybierz gest", + "description": "Aria label for the simulator gesture select input" + }, + "simulator-gesture-send": { + "defaultMessage": "Wyślij gest", + "description": "Aria label for the simulator gesture send button" + }, + "simulator-gesture-shake": { + "defaultMessage": "potrząśnij", + "description": "Simulator gesture option" + }, + "simulator-gesture-up": { + "defaultMessage": "w górę", + "description": "Simulator gesture option" + }, + "simulator-hide": { + "defaultMessage": "Ukryj symulator", + "description": "Hide simulator action" + }, + "simulator-input-hold": { + "defaultMessage": "Przytrzymaj", + "description": "Label for UI toggles to hold simulator buttons or pins" + }, + "simulator-input-press": { + "defaultMessage": "Naciśnij", + "description": "Label for UI buttons to press simulator buttons or pins" + }, + "simulator-light-level": { + "defaultMessage": "Poziom światła", + "description": "Light level simulator panel title" + }, + "simulator-log": { + "defaultMessage": "Dziennik danych", + "description": "Data log simulator panel title" + }, + "simulator-loud": { + "defaultMessage": "Głośno", + "description": "Simulator sound level high threshold marker hover text. This should match the translation of microbit.SoundEvent.LOUD in the api.en.json file but with differing case." + }, + "simulator-mute": { + "defaultMessage": "Wycisz", + "description": "Aria label for the mute simulator button" + }, + "simulator-pin-hold-label": { + "defaultMessage": "Przytrzymaj pin {pin}", + "description": "Aria label for simulator pin control" + }, + "simulator-pin-press-label": { + "defaultMessage": "Naciśnij pin {pin}", + "description": "Aria label for simulator pin control" + }, + "simulator-pins": { + "defaultMessage": "Piny", + "description": "Pins simulator panel title" + }, + "simulator-quiet": { + "defaultMessage": "Cicho", + "description": "Simulator sound level low threshold marker hover text. This should match the translation of microbit.SoundEvent.QUIET in the api.en.json file but with differing case." + }, + "simulator-radio": { + "defaultMessage": "Radio", + "description": "Radio simulator panel title" + }, + "simulator-radio-code": { + "defaultMessage": "micro:bit wysłal:", + "description": "Visually hidden text for a radio message sent from the simulated micro:bit. Text of the message follows." + }, + "simulator-radio-group-notice": { + "defaultMessage": "Grupa radiowa ustawiona na {groupNumber}", + "description": "Message in radio simulator area when the radio group changes" + }, + "simulator-radio-message": { + "defaultMessage": "Wiadomość radiowa", + "description": "Label and placeholder for the simulator radio message input field" + }, + "simulator-radio-message-limit-notice": { + "defaultMessage": "Starsze wiadomości nie są wyświetlane", + "description": "Text shown when the number of radio messages has been capped in the simulator user interface" + }, + "simulator-radio-no-messages": { + "defaultMessage": "Brak wiadomości do wyświetlenia", + "description": "Text shown when there are no radio messages to display in the simulator user interface" + }, + "simulator-radio-off": { + "defaultMessage": "Radio jest wyłączone", + "description": "Text shown when there are no radio messages because the radio is off in the simulator user interface" + }, + "simulator-radio-send": { + "defaultMessage": "Wyślij wiadomość", + "description": "Aria label for the simulator radio send button" + }, + "simulator-radio-user": { + "defaultMessage": "Wysłałeś:", + "description": "Visually hidden text for a radio message sent from the user to the simulated micro:bit. Text of the message follows." + }, + "simulator-reference-link": { + "defaultMessage": "Link do sekcji odniesienia", + "description": "Aria label for simulator Reference link button" + }, + "simulator-reset": { + "defaultMessage": "Reset", + "description": "Aria label for the reset simulator button" + }, + "simulator-serial-terminal": { + "defaultMessage": "Terminal szeregowy symulatora", + "description": "Aria label for the simulator serial terminal" + }, + "simulator-sound-level": { + "defaultMessage": "Poziom dźwięku", + "description": "Sound level simulator panel title" + }, + "simulator-start-simulator": { + "defaultMessage": "Uruchom symulator", + "description": "Aria label for the large play button on the simulator board" + }, + "simulator-stop": { + "defaultMessage": "Zatrzymaj symulator", + "description": "Aria label for the stop simulator button" + }, + "simulator-temperature": { + "defaultMessage": "Temperatura", + "description": "Temperature simulator panel title" + }, + "simulator-title": { + "defaultMessage": "Symulator", + "description": "Simulator title" + }, + "simulator-touch-logo": { + "defaultMessage": "Logo dotykowe", + "description": "Name for the touch logo pin on the V2 micro:bit board. Used in the simulator." + }, + "simulator-unmute": { + "defaultMessage": "Wycisz", + "description": "Aria label for the unmute simulator button" + }, + "software-versions": { + "defaultMessage": "Wersje oprogramowania", + "description": "Heading for a table of software versions in the about dialog" + }, + "start-coding-action": { + "defaultMessage": "Zacznij kodować", + "description": "Start coding button text" + }, + "support": { + "defaultMessage": "Wsparcie", + "description": "Support menu option text" + }, + "terms-of-use": { + "defaultMessage": "Warunki korzystania", + "description": "Terms of use menu option text" + }, + "third-party-module-explanation": { + "defaultMessage": "Ten plik jest modułem firm trzecich i nie może być edytowany.", + "description": "Explanation shown instead of the code editor for third-party modules." + }, + "third-party-module-how-to": { + "defaultMessage": "Zezwalaj edycję modułów innych firm w Ustawienia do modyfikowania tego modułu.", + "description": "Explanation of how to allow editing for third-party modules." + }, + "timeout-error-description": { + "defaultMessage": "Nie można połączyć się z micro:bitem", + "description": "Description for error messages relating to WebUSB timeout" + }, + "timeout-error-title": { + "defaultMessage": "Przekroczono limit czasu połączenia", + "description": "Title for error messages relating to WebUSB timeout" + }, + "toolkit-error-loading": { + "defaultMessage": "Wystąpił błąd podczas ładowania zestawu narzędzi.", + "description": "Error shown if we failed to load toolkit content" + }, + "toolkit-view-documentation": { + "defaultMessage": "Zobacz dokumentację {name}", + "description": "Aria label for the toolkit topic right arrow" + }, + "transfer-hex-message-one": { + "defaultMessage": "Przeciągnij plik hex z folderu Pobrane na dysk MICROBIT.", + "description": "Text in the transfer hex dialog" + }, + "transfer-hex-message-two": { + "defaultMessage": "Możesz później Otworzyć plik hex, aby kontynuować edycję.", + "description": "Text in the transfer hex dialog" + }, + "transfer-hex-title": { + "defaultMessage": "Przenieś zapisany plik hex na micro:bita", + "description": "Title for the transfer hex dialog" + }, + "try-again-action": { + "defaultMessage": "Spróbuj ponownie", + "description": "Try again button text" + }, + "undo": { + "defaultMessage": "Cofnij", + "description": "Aria label for the undo button" + }, + "unexpected-error-description": { + "defaultMessage": "Spróbuj ponownie lub zgłoś prośbę o wsparcie", + "description": "Text shown for unexpected error scenarios" + }, + "unexpected-error-title": { + "defaultMessage": "Spróbuj ponownie lub zgłoś prośbę o wsparcie", + "description": "Text shown for unexpected error scenarios" + }, + "untitled-project": { + "defaultMessage": "Projekt bez tytułu", + "description": "Title for a new project" + }, + "update-firmware-action": { + "defaultMessage": "Zaktualizuj firmware", + "description": "Update firmware button text" + }, + "updated-change": { + "defaultMessage": "Zaktualizowany plik {changeName}", + "description": "Change made to file" + }, + "visit-dot-org": { + "defaultMessage": "odwiedź microbit.org (otwiera się w nowej karcie)", + "description": "alt text for logo link to .org" + }, + "warn-on-v2-only-features-action": { + "defaultMessage": "Wyłącz ostrzeżenia o funkcjach tylko V2", + "description": "Label for editor action" + }, + "webusb-error-clear-connect-description-1": { + "defaultMessage": "Do tego urządzenia podłączony jest inny proces.", + "description": "Part of WebUSB error message" + }, + "webusb-error-clear-connect-description-2": { + "defaultMessage": "Zamknij inne zakładki, które mogą korzystać z WebUSB (np. MakeCode, Edytor Pythona) lub odłącz i podłącz micro:bit przed ponowną próbą.", + "description": "Part of WebUSB error message" + }, + "webusb-error-clear-connect-title": { + "defaultMessage": "Inna strona lub zakładka przeglądarki jest połączona z tym micro:bitem", + "description": "Title of error for WebUsb connection" + }, + "webusb-error-default-title": { + "defaultMessage": "Błąd WebUSB", + "description": "Default title for error messages relating to WebUSB" + }, + "webusb-error-reconnect-microbit-description": { + "defaultMessage": "

    Postępuj zgodnie z tymi krokami, a następnie spróbuj ponownie:

    • odłącz kabel USB
    • odłącz pakiet baterii, jeśli jest podłączony
    • ponownie podłącz kabel USB
    • ponownie podłącz pakiet baterii, jeśli był podłączony
    ", + "description": "Part of WebUSB error message" + }, + "webusb-not-supported": { + "defaultMessage": "Niestety WebUSB nie jest obsługiwany w tej przeglądarce, a Twój program zostanie zapisany na Twoim komputerze. Wykonaj kroki na następnym ekranie, aby przenieść program na swój micro:bit. Zalecamy Google Chrome lub Microsoft Edge, abyś mógł połączyć się bezpośrednio ze swoim micro:bitem.", + "description": "Explantion shown when user's browser doesn't support WebUSB" + }, + "webusb-not-supported-title": { + "defaultMessage": "Ta przeglądarka nie obsługuje WebUSB", + "description": "Title of dialog shown when user's browser doesn't support WebUSB" + }, + "webusb-why-use": { + "defaultMessage": "Za pomocą WebUSB możesz programować swój micro:bit i połączyć się z konsolą szeregową bezpośrednio z edytora online.", + "description": "Shown to encourage use of browser that supports WebUSB" + }, + "welcome-message": { + "defaultMessage": "Obejrzyj nasz krótki przewodnik po niektórych kluczowych funkcjach lub natychmiast zacznij kodować.", + "description": "Text in the welcome dialogn" + }, + "welcome-title": { + "defaultMessage": "Witaj w edytorze Pythona dla micro:bita", + "description": "Title for the welcome dialog" + }, + "welcome-video-alt": { + "defaultMessage": "film wprowadzający edytor Pythona", + "description": "iframe title for the welcome video" + }, + "zoom-in-action": { + "defaultMessage": "Powiększ", + "description": "Text label for zoom in button" + }, + "zoom-out-action": { + "defaultMessage": "Pomniejsz", + "description": "Text label for zoom out button" + } +} \ No newline at end of file diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index e27cd51b6..79dd4b8b2 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "图片无法离线使用图像", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "显示有关仅限 V2 的特性的警告", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "当 micro:bit V1 连接时,编辑器中会显示警告", "description": "Checkbox setting label" }, "settings": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "禁用有关 V2 独有特性的警告", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "无法声明接口", + "defaultMessage": "另一个页面或浏览 tab 选项卡已连接到此 micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "请重新连接 micro:bit 然后再次尝试。", + "defaultMessage": "

    请按照以下步骤操作,然后重试:

    • 拔下 USB 电缆
    • 拔下电池组(如果已连接)
    • 重新连接 USB 电缆
    • 重新连接电池组(如果已连接)
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "介绍 Python 编辑器的视频", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index 6a63464dc..f535f926b 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -196,7 +196,7 @@ "description": "Text displayed when content fails to load" }, "cookies-action": { - "defaultMessage": "Cookies", + "defaultMessage": "餅乾", "description": "Action to show dialog to choose website cookie preferences" }, "copied": { @@ -511,7 +511,7 @@ "description": "Text in the no micro:bit found dialog" }, "offline-image-alt": { - "defaultMessage": "Image unavailable offline", + "defaultMessage": "圖像無法離線使用", "description": "Alt text for an image placeholder when the user is offline" }, "open-action": { @@ -747,11 +747,11 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features": { - "defaultMessage": "Show warnings about V2-only features", + "defaultMessage": "顯示僅 V2 功能的警告", "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnings are shown in the editor when a micro:bit V1 is connected", + "defaultMessage": "連線micro:bit V1 時,編輯程式器中會顯示警告", "description": "Checkbox setting label" }, "settings": { @@ -967,7 +967,7 @@ "description": "Radio simulator panel title" }, "simulator-radio-code": { - "defaultMessage": "micro:bit sent:", + "defaultMessage": "micro:bit 發送:", "description": "Visually hidden text for a radio message sent from the simulated micro:bit. Text of the message follows." }, "simulator-radio-group-notice": { @@ -995,7 +995,7 @@ "description": "Aria label for the simulator radio send button" }, "simulator-radio-user": { - "defaultMessage": "You sent:", + "defaultMessage": "你發送:", "description": "Visually hidden text for a radio message sent from the user to the simulated micro:bit. Text of the message follows." }, "simulator-reference-link": { @@ -1123,7 +1123,7 @@ "description": "alt text for logo link to .org" }, "warn-on-v2-only-features-action": { - "defaultMessage": "Disable warnings about V2-only features", + "defaultMessage": "停用有關僅 V2 功能的警告", "description": "Label for editor action" }, "webusb-error-clear-connect-description-1": { @@ -1135,7 +1135,7 @@ "description": "Part of WebUSB error message" }, "webusb-error-clear-connect-title": { - "defaultMessage": "無法宣告介面", + "defaultMessage": "另一個頁面或瀏覽器索引標籤已連線到此 micro:bit", "description": "Title of error for WebUsb connection" }, "webusb-error-default-title": { @@ -1143,7 +1143,7 @@ "description": "Default title for error messages relating to WebUSB" }, "webusb-error-reconnect-microbit-description": { - "defaultMessage": "請重新連接你的 micro:bit 後再試一次。", + "defaultMessage": "

    請依照以下步驟操作,然後重試:

    • 拔下USB 電纜
    • 拔下電池組(如果已安裝)
    • 重新連接USB 線
    • 重新連接電池組(如果已安裝)
    ", "description": "Part of WebUSB error message" }, "webusb-not-supported": { @@ -1167,7 +1167,7 @@ "description": "Title for the welcome dialog" }, "welcome-video-alt": { - "defaultMessage": "video introducing the Python Editor", + "defaultMessage": "介紹 Python 編輯程式器的視頻", "description": "iframe title for the welcome video" }, "zoom-in-action": { diff --git a/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js b/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js deleted file mode 100644 index b26dd3ad7..000000000 --- a/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Duplizierter Parameter \\"{name}\\"","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js b/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js new file mode 100644 index 000000000..479dacc6a --- /dev/null +++ b/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Doppelter Parameter „{name}“","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js b/public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js similarity index 65% rename from public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js rename to public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js index 906d7a8fe..1186cf77a 100644 --- a/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js +++ b/public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[598],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[598],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","microbitVersionApiUnsupported":"crwdns360366:0{name}crwdnd360366:0{device}crwdne360366:0","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js b/public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js new file mode 100644 index 000000000..a5f99df92 --- /dev/null +++ b/public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[640],{464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument nie zgadza się z typem parametru","argAssignmentFunction":"Argument nie zgadza się z typem parametru w funkcji \\"{functionName}\\"","argAssignmentParam":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argAssignmentParamFunction":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argMissingForParam":"Brak argumentu dla parametru {name}","argMissingForParams":"Brak argumentów dla parametrów {names}","argMorePositionalExpectedCount":"Oczekiwane jest {expected} więcej argumentów pozycyjnych","argMorePositionalExpectedOne":"Oczekiwany jest 1 więcej argument pozycyjny","argPositional":"Oczekiwany jest argument pozycyjny","argPositionalExpectedOne":"Oczekiwany jest 1 argument pozycyjny","assignmentTargetExpr":"Wyrażenie nie może być celem przypisania","booleanIsLowerCase":"\\"{name}\\" nie został zdefiniowany, czy masz na myśli \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" może być użyty tylko w pętli \\"while\\" lub \\"for\\"","constructorNoArgs":"Nie są oczekiwane żadne argumenty dla konstruktora \\"{type}\\"","continueOutsideLoop":"\\"continue\\" może być użyte tylko w pętli \\"while\\" lub \\"for\\"","delTargetExpr":"Wyrażenie nie może zostać usunięte","duplicateParam":"Duplikuj parametr \\"{name}\\"","expectedAssignRightHandExpr":"Oczekiwano wyrażenia po prawej stronie \\"=\\"","expectedBinaryRightHandExpr":"Oczekiwane wyrażenie po prawej stronie operatora","expectedClassName":"Brak nazwy klasy","expectedCloseBrace":"Brak nawiasu zamykającego \\"}\\"","expectedCloseBracket":"Brak nawiasu zamykającego \\"]\\"","expectedCloseParen":"Brak nawiasu zamykającego \\")\\"","expectedColon":"Brak dwukropka \\":\\"","expectedDelExpr":"Brak wyrażenie po \\"del\\"","expectedElse":"Brak \\"else\\"","expectedEqualityOperator":"Oczekiwany operator równości, czy miałeś na myśli \\"==\\"?","expectedExpr":"Brak wyrażenia","expectedFunctionName":"Brak nazwy funkcji po \\"def\\"","expectedIdentifier":"Brak identyfikatora","expectedImport":"Brak \\"import\\"","expectedImportAlias":"Brak symbolu po \\"as\\"","expectedImportSymbols":"Oczekiwano jednej lub więcej nazw symboli po imporcie","expectedIn":"Brak \\"in\\"","expectedIndentedBlock":"Brak wcięcia","expectedInExpr":"Brak wyrażenia po \\"in\\"","expectedMemberName":"Brak nazwy użytkownika po \\".\\"","expectedModuleName":"Brak nazwy modułu","expectedNamedParameter":"Parametr słowa kluczowego musi być po \\"*\\"","expectedNewlineOrSemicolon":"Nieoczekiwana instrukcja\\nInstrukcje muszą być jedne na linię","expectedOpenParen":"Brak nawiasu otwierającego \\"(\\"","expectedParamName":"Brak nazwy parametru","expectedSliceIndex":"Brak indeksu lub wycinka","expectedYieldExpr":"Oczekiwane wyrażenie w instrukcji wydajności","globalReassignment":"\\"{name}\\" jest przypisany przed deklaracją globalną","globalRedefinition":"\\"{name}\\" został już zadeklarowany jako globalny","importResolveFailure":"Moduł \\"{importName}\\" nie został znaleziony","importSymbolUnknown":"\\"{name}\\" nie znaleziono w module \\"{moduleName}\\"","inconsistentIndent":"Wcięcie nie pasuje do poprzedniego wiersza","inconsistentTabs":"Niespójne wykorzystanie tabs i spacji dla wcięć","instanceMethodSelfParam":"Metody instancji wymagają parametru \\"self\\"","invalidIdentifierChar":"Nieprawidłowy znak w identyfikatorze","invalidTokenChars":"Nieprawidłowy znak \\"{text}\\" w tokenie","memberAccess":"Nie ma dostępu do członka \\"{name}\\" dla typu \\"{type}\\"","memberDelete":"Nie można usunąć członka \\"{name}\\" dla typu \\"{type}\\"","memberSet":"Nie można przypisać członka \\"{name}\\" dla typu \\"{type}\\"","moduleNotCallable":"Moduł nie jest wywoływalny","moduleUnknownMember":"\\"{name}\\" nie jest znanym członkiem modułu \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argument niedomyślny bastępuje po domyślnym argumentem","noOverload":"Argumenty nie zgadzaj się z typem parametrów","objectNotCallable":"Obiekt nie jest wywoływalny","obscuredClassDeclaration":"Klasa \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredFunctionDeclaration":"Funkcja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredMethodDeclaration":"Metoda \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredParameterDeclaration":"Parametr \\"{name}\\" koliduje z inną deklarację o tej samej nazwie","obscuredVariableDeclaration":"Deklaracja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","paramAfterKwargsParam":"Parametr nie może następować po parametrze \\"**\\"","paramAlreadyAssigned":"Parametr \\"{name}\\" jest już przypisany","paramNameMissing":"Brak parametru o nazwie \\"{name}\\"","positionArgAfterNamedArg":"Argument pozycyjny nie może występować po argumentach słów kluczowych","returnOutsideFunction":"\\"return\\" może być użyte tylko w funkcji","stringUnsupportedEscape":"Nieobsługiwana sekwencja w nazwie typu łańcuch","stringUnterminated":"Łańcuch nie jest zamknięty — brak cudzysłowu","symbolIsUndefined":"\\"{name}\\" nie jest zdefiniowana","trailingCommaInFromImport":"Przecinek końcowy nie jest dozwolony bez otaczających go nawiasów","tupleIndexOutOfRange":"Indeks {index} jest poza zakresem dla typu {type}","typeNotIterable":"Typ nie jest iterowalny","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","unaccessedClass":"Klasa \\"{name}\\" jest nieużywana","unaccessedFunction":"Funkcja \\"{name}\\" jest nieużywana","unaccessedImport":"Import \\"{name}\\" jest nieużywany","unaccessedSymbol":"\\"{name}\\" jest nieużywana","unaccessedVariable":"Zmienna \\"{name}\\" jest nieużywana","unexpectedIndent":"Nieoczekiwane wcięcie","unreachableCode":"Kod jest nieosiągalny\\nLogika Twojego programu oznacza, że ten kod nigdy nie będzie uruchomiony"},"DiagnosticAddendum":{"tupleSizeMismatch":"Niezgodność rozmiaru elementu; oczekiwano {expected}, ale otrzymano {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js deleted file mode 100644 index 60c5bed1f..000000000 --- a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"6d57f933221789ac4fa5",100:"ddc72e6b2c1f5de1a885",231:"eb261203312776336920",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"e3d42c104c87070f53c5",598:"ec1b193371d2420cb0eb",689:"044348bd1ddc2b34a22e",888:"88ebe3f78a0987ea286e",913:"6516fe648e06c3175b0d"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); -//# sourceMappingURL=pyright-main-382ffb2ee9671656ad85.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map b/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map deleted file mode 100644 index 5e1da227e..000000000 --- a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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C1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0O+B,CACxC,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,KAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAUgC,CACxC,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,SDj8DNC,GAA4B,CC+d4B,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,KAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA+nB0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA8d0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,C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ACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAA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EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB,MAAMC,GACTx6J,YAAYy6J,EAAqBC,GAsBjC,KAAAC,QAAsB,GA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","file":"pyright-main-382ffb2ee9671656ad85.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js b/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js new file mode 100644 index 000000000..c9cfc2e30 --- /dev/null +++ b/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js @@ -0,0 +1,3 @@ +/*! For license information please see pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",640:"pl",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"6d57f933221789ac4fa5",100:"ddc72e6b2c1f5de1a885",231:"eb261203312776336920",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"e3d42c104c87070f53c5",598:"50989152ee9593f45224",640:"916ad70220e047f7ef47",689:"044348bd1ddc2b34a22e",888:"88ebe3f78a0987ea286e",913:"730fd6415f89b500d131"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"pl":return(await __webpack_require__.e(640).then(__webpack_require__.t.bind(__webpack_require__,464,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-732a35e9ffa0a3bb98be.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt b/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt similarity index 100% rename from public/workers/pyright-main-382ffb2ee9671656ad85.worker.js.LICENSE.txt rename to public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt diff --git a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map b/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map new file mode 100644 index 000000000..530608983 --- /dev/null +++ b/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":";yDAEAA,EAAQC,WAuCR,SAAqBC,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClDN,EAAQO,YAiDR,SAAsBL,GACpB,IAAIM,EAcAC,EAbAN,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvBO,EAAM,IAAIC,EAVhB,SAAsBT,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BM,CAAYV,EAAKG,EAAUC,IAEzCO,EAAU,EAGVC,EAAMR,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKI,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EACxBD,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,GACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACrCM,EAAUb,EAAIc,WAAWP,EAAI,IAC/BC,EAAIG,KAAcL,GAAO,GAAM,IAC/BE,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,EAmBnB,OAhBwB,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,EAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAmB,IAANL,GAGK,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,GAGZE,GA3FTV,EAAQiB,cAkHR,SAAwBC,GAQtB,IAPA,IAAIV,EACAM,EAAMI,EAAMC,OACZC,EAAaN,EAAM,EACnBO,EAAQ,GACRC,EAAiB,MAGZb,EAAI,EAAGc,EAAOT,EAAMM,EAAYX,EAAIc,EAAMd,GAAKa,EACtDD,EAAMG,KAAKC,EAAYP,EAAOT,EAAIA,EAAIa,EAAkBC,EAAOA,EAAQd,EAAIa,IAqB7E,OAjBmB,IAAfF,GACFZ,EAAMU,EAAMJ,EAAM,GAClBO,EAAMG,KACJE,EAAOlB,GAAO,GACdkB,EAAQlB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOU,EAAMJ,EAAM,IAAM,GAAKI,EAAMJ,EAAM,GAC1CO,EAAMG,KACJE,EAAOlB,GAAO,IACdkB,EAAQlB,GAAO,EAAK,IACpBkB,EAAQlB,GAAO,EAAK,IACpB,MAIGa,EAAMM,KAAK,KAzIpB,IALA,IAAID,EAAS,GACTX,EAAY,GACZJ,EAA4B,oBAAfiB,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFrB,EAAI,EAAGK,EAAMgB,EAAKX,OAAQV,EAAIK,IAAOL,EAC5CiB,EAAOjB,GAAKqB,EAAKrB,GACjBM,EAAUe,EAAKd,WAAWP,IAAMA,EAQlC,SAASL,EAASF,GAChB,IAAIY,EAAMZ,EAAIiB,OAEd,GAAIL,EAAM,EAAI,EACZ,MAAM,IAAIiB,MAAM,kDAKlB,IAAI1B,EAAWH,EAAI8B,QAAQ,KAO3B,OANkB,IAAd3B,IAAiBA,EAAWS,GAMzB,CAACT,EAJcA,IAAaS,EAC/B,EACA,EAAKT,EAAW,GAsEtB,SAASoB,EAAaP,EAAOe,EAAOC,GAGlC,IAFA,IAAI1B,EARoB2B,EASpBC,EAAS,GACJ3B,EAAIwB,EAAOxB,EAAIyB,EAAKzB,GAAK,EAChCD,GACIU,EAAMT,IAAM,GAAM,WAClBS,EAAMT,EAAI,IAAM,EAAK,QACP,IAAfS,EAAMT,EAAI,IACb2B,EAAOZ,KAdFE,GADiBS,EAeM3B,IAdT,GAAK,IACxBkB,EAAOS,GAAO,GAAK,IACnBT,EAAOS,GAAO,EAAI,IAClBT,EAAa,GAANS,IAaT,OAAOC,EAAOT,KAAK,IAjGrBZ,EAAU,IAAIC,WAAW,IAAM,GAC/BD,EAAU,IAAIC,WAAW,IAAM,I,4BCT/B,MAAMqB,EAAS,EAAQ,MACjBC,EAAU,EAAQ,KAClBC,EACe,mBAAXC,QAAkD,mBAAlBA,OAAY,IAChDA,OAAY,IAAE,8BACd,KAENxC,EAAQyC,OAASA,EACjBzC,EAAQ0C,WAyTR,SAAqBvB,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJsB,EAAOE,OAAOxB,IA5TvBnB,EAAQ4C,kBAAoB,GAE5B,MAAMC,EAAe,WAwDrB,SAASC,EAAc3B,GACrB,GAAIA,EAAS0B,EACX,MAAM,IAAIE,WAAW,cAAgB5B,EAAS,kCAGhD,MAAM6B,EAAM,IAAIpB,WAAWT,GAE3B,OADA8B,OAAOC,eAAeF,EAAKP,EAAOU,WAC3BH,EAaT,SAASP,EAAQW,EAAKC,EAAkBlC,GAEtC,GAAmB,iBAARiC,EAAkB,CAC3B,GAAgC,iBAArBC,EACT,MAAM,IAAIC,UACR,sEAGJ,OAAOC,EAAYH,GAErB,OAAOI,EAAKJ,EAAKC,EAAkBlC,GAKrC,SAASqC,EAAMC,EAAOJ,EAAkBlC,GACtC,GAAqB,iBAAVsC,EACT,OAqHJ,SAAqBC,EAAQC,GAK3B,GAJwB,iBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGRlB,EAAOmB,WAAWD,GACrB,MAAM,IAAIL,UAAU,qBAAuBK,GAG7C,MAAMxC,EAAwC,EAA/BlB,EAAWyD,EAAQC,GAClC,IAAIX,EAAMF,EAAa3B,GAEvB,MAAM0C,EAASb,EAAIc,MAAMJ,EAAQC,GASjC,OAPIE,IAAW1C,IAIb6B,EAAMA,EAAIe,MAAM,EAAGF,IAGdb,EA1IEgB,CAAWP,EAAOJ,GAG3B,GAAIY,YAAYC,OAAOT,GACrB,OAkJJ,SAAwBU,GACtB,GAAIC,EAAWD,EAAWvC,YAAa,CACrC,MAAMyC,EAAO,IAAIzC,WAAWuC,GAC5B,OAAOG,EAAgBD,EAAKE,OAAQF,EAAKG,WAAYH,EAAKpE,YAE5D,OAAOwE,EAAcN,GAvJZO,CAAcjB,GAGvB,GAAa,MAATA,EACF,MAAM,IAAIH,UACR,yHACiDG,GAIrD,GAAIW,EAAWX,EAAOQ,cACjBR,GAASW,EAAWX,EAAMc,OAAQN,aACrC,OAAOK,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAiC,oBAAtBwD,oBACNP,EAAWX,EAAOkB,oBAClBlB,GAASW,EAAWX,EAAMc,OAAQI,oBACrC,OAAOL,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAqB,iBAAVsC,EACT,MAAM,IAAIH,UACR,yEAIJ,MAAMsB,EAAUnB,EAAMmB,SAAWnB,EAAMmB,UACvC,GAAe,MAAXA,GAAmBA,IAAYnB,EACjC,OAAOhB,EAAOe,KAAKoB,EAASvB,EAAkBlC,GAGhD,MAAM0D,EAkJR,SAAqBC,GACnB,GAAIrC,EAAOsC,SAASD,GAAM,CACxB,MAAMhE,EAA4B,EAAtBkE,EAAQF,EAAI3D,QAClB6B,EAAMF,EAAahC,GAEzB,OAAmB,IAAfkC,EAAI7B,QAIR2D,EAAIT,KAAKrB,EAAK,EAAG,EAAGlC,GAHXkC,EAOX,YAAmBiC,IAAfH,EAAI3D,OACoB,iBAAf2D,EAAI3D,QAAuB+D,EAAYJ,EAAI3D,QAC7C2B,EAAa,GAEf2B,EAAcK,GAGN,WAAbA,EAAIK,MAAqBtD,MAAMuD,QAAQN,EAAIO,MACtCZ,EAAcK,EAAIO,WAD3B,EAtKUC,CAAW7B,GACrB,GAAIoB,EAAG,OAAOA,EAEd,GAAsB,oBAAXrC,QAAgD,MAAtBA,OAAO+C,aACH,mBAA9B9B,EAAMjB,OAAO+C,aACtB,OAAO9C,EAAOe,KAAKC,EAAMjB,OAAO+C,aAAa,UAAWlC,EAAkBlC,GAG5E,MAAM,IAAImC,UACR,yHACiDG,GAqBrD,SAAS+B,EAAYC,GACnB,GAAoB,iBAATA,EACT,MAAM,IAAInC,UAAU,0CACf,GAAImC,EAAO,EAChB,MAAM,IAAI1C,WAAW,cAAgB0C,EAAO,kCA4BhD,SAASlC,EAAakC,GAEpB,OADAD,EAAWC,GACJ3C,EAAa2C,EAAO,EAAI,EAAoB,EAAhBT,EAAQS,IAwC7C,SAAShB,EAAeiB,GACtB,MAAMvE,EAASuE,EAAMvE,OAAS,EAAI,EAA4B,EAAxB6D,EAAQU,EAAMvE,QAC9C6B,EAAMF,EAAa3B,GACzB,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAQV,GAAK,EAC/BuC,EAAIvC,GAAgB,IAAXiF,EAAMjF,GAEjB,OAAOuC,EAWT,SAASsB,EAAiBoB,EAAOlB,EAAYrD,GAC3C,GAAIqD,EAAa,GAAKkB,EAAMzF,WAAauE,EACvC,MAAM,IAAIzB,WAAW,wCAGvB,GAAI2C,EAAMzF,WAAauE,GAAcrD,GAAU,GAC7C,MAAM,IAAI4B,WAAW,wCAGvB,IAAIC,EAYJ,OAVEA,OADiBiC,IAAfT,QAAuCS,IAAX9D,EACxB,IAAIS,WAAW8D,QACDT,IAAX9D,EACH,IAAIS,WAAW8D,EAAOlB,GAEtB,IAAI5C,WAAW8D,EAAOlB,EAAYrD,GAI1C8B,OAAOC,eAAeF,EAAKP,EAAOU,WAE3BH,EA4BT,SAASgC,EAAS7D,GAGhB,GAAIA,GAAU0B,EACZ,MAAM,IAAIE,WAAW,0DACaF,EAAa8C,SAAS,IAAM,UAEhE,OAAgB,EAATxE,EAuGT,SAASlB,EAAYyD,EAAQC,GAC3B,GAAIlB,EAAOsC,SAASrB,GAClB,OAAOA,EAAOvC,OAEhB,GAAI8C,YAAYC,OAAOR,IAAWU,EAAWV,EAAQO,aACnD,OAAOP,EAAOzD,WAEhB,GAAsB,iBAAXyD,EACT,MAAM,IAAIJ,UACR,kGAC0BI,GAI9B,MAAM5C,EAAM4C,EAAOvC,OACbyE,EAAaC,UAAU1E,OAAS,IAAsB,IAAjB0E,UAAU,GACrD,IAAKD,GAAqB,IAAR9E,EAAW,OAAO,EAGpC,IAAIgF,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO7C,EACT,IAAK,OACL,IAAK,QACH,OAAOiF,EAAYrC,GAAQvC,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANL,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOkF,EAActC,GAAQvC,OAC/B,QACE,GAAI2E,EACF,OAAOF,GAAa,EAAIG,EAAYrC,GAAQvC,OAE9CwC,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,GAMtB,SAASI,EAAcvC,EAAU1B,EAAOC,GACtC,IAAI4D,GAAc,EAclB,SALcb,IAAVhD,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQkE,KAAKhF,OACf,MAAO,GAOT,SAJY8D,IAAR/C,GAAqBA,EAAMiE,KAAKhF,UAClCe,EAAMiE,KAAKhF,QAGTe,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFK0B,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOyC,EAASD,KAAMlE,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOmE,EAAUF,KAAMlE,EAAOC,GAEhC,IAAK,QACH,OAAOoE,EAAWH,KAAMlE,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOqE,EAAYJ,KAAMlE,EAAOC,GAElC,IAAK,SACH,OAAOsE,EAAYL,KAAMlE,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOuE,EAAaN,KAAMlE,EAAOC,GAEnC,QACE,GAAI4D,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAYA,EAAW,IAAIsC,cAC3BH,GAAc,GAatB,SAASY,EAAM7B,EAAG8B,EAAGC,GACnB,MAAMnG,EAAIoE,EAAE8B,GACZ9B,EAAE8B,GAAK9B,EAAE+B,GACT/B,EAAE+B,GAAKnG,EA4IT,SAASoG,EAAsBtC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAEhE,GAAsB,IAAlBxC,EAAOpD,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAfqD,GACTb,EAAWa,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAGZU,EADJV,GAAcA,KAGZA,EAAauC,EAAM,EAAKxC,EAAOpD,OAAS,GAItCqD,EAAa,IAAGA,EAAaD,EAAOpD,OAASqD,GAC7CA,GAAcD,EAAOpD,OAAQ,CAC/B,GAAI4F,EAAK,OAAQ,EACZvC,EAAaD,EAAOpD,OAAS,OAC7B,GAAIqD,EAAa,EAAG,CACzB,IAAIuC,EACC,OAAQ,EADJvC,EAAa,EAUxB,GALmB,iBAARsC,IACTA,EAAMrE,EAAOe,KAAKsD,EAAKnD,IAIrBlB,EAAOsC,SAAS+B,GAElB,OAAmB,IAAfA,EAAI3F,QACE,EAEH6F,EAAazC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAClD,GAAmB,iBAARD,EAEhB,OADAA,GAAY,IACgC,mBAAjClF,WAAWuB,UAAUnB,QAC1B+E,EACKnF,WAAWuB,UAAUnB,QAAQiF,KAAK1C,EAAQuC,EAAKtC,GAE/C5C,WAAWuB,UAAU+D,YAAYD,KAAK1C,EAAQuC,EAAKtC,GAGvDwC,EAAazC,EAAQ,CAACuC,GAAMtC,EAAYb,EAAUoD,GAG3D,MAAM,IAAIzD,UAAU,wCAGtB,SAAS0D,EAActG,EAAKoG,EAAKtC,EAAYb,EAAUoD,GACrD,IA0BItG,EA1BA0G,EAAY,EACZC,EAAY1G,EAAIS,OAChBkG,EAAYP,EAAI3F,OAEpB,QAAiB8D,IAAbtB,IAEe,UADjBA,EAAW2D,OAAO3D,GAAUsC,gBACY,UAAbtC,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIjD,EAAIS,OAAS,GAAK2F,EAAI3F,OAAS,EACjC,OAAQ,EAEVgG,EAAY,EACZC,GAAa,EACbC,GAAa,EACb7C,GAAc,EAIlB,SAAS+C,EAAMvE,EAAKvC,GAClB,OAAkB,IAAd0G,EACKnE,EAAIvC,GAEJuC,EAAIwE,aAAa/G,EAAI0G,GAKhC,GAAIJ,EAAK,CACP,IAAIU,GAAc,EAClB,IAAKhH,EAAI+D,EAAY/D,EAAI2G,EAAW3G,IAClC,GAAI8G,EAAK7G,EAAKD,KAAO8G,EAAKT,GAAqB,IAAhBW,EAAoB,EAAIhH,EAAIgH,IAEzD,IADoB,IAAhBA,IAAmBA,EAAahH,GAChCA,EAAIgH,EAAa,IAAMJ,EAAW,OAAOI,EAAaN,OAEtC,IAAhBM,IAAmBhH,GAAKA,EAAIgH,GAChCA,GAAc,OAKlB,IADIjD,EAAa6C,EAAYD,IAAW5C,EAAa4C,EAAYC,GAC5D5G,EAAI+D,EAAY/D,GAAK,EAAGA,IAAK,CAChC,IAAIiH,GAAQ,EACZ,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAWM,IAC7B,GAAIJ,EAAK7G,EAAKD,EAAIkH,KAAOJ,EAAKT,EAAKa,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOjH,EAItB,OAAQ,EAeV,SAASmH,EAAU5E,EAAKU,EAAQmE,EAAQ1G,GACtC0G,EAASC,OAAOD,IAAW,EAC3B,MAAME,EAAY/E,EAAI7B,OAAS0G,EAC1B1G,GAGHA,EAAS2G,OAAO3G,IACH4G,IACX5G,EAAS4G,GAJX5G,EAAS4G,EAQX,MAAMC,EAAStE,EAAOvC,OAKtB,IAAIV,EACJ,IAJIU,EAAS6G,EAAS,IACpB7G,EAAS6G,EAAS,GAGfvH,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAC3B,MAAMwH,EAASC,SAASxE,EAAOyE,OAAW,EAAJ1H,EAAO,GAAI,IACjD,GAAIyE,EAAY+C,GAAS,OAAOxH,EAChCuC,EAAI6E,EAASpH,GAAKwH,EAEpB,OAAOxH,EAGT,SAAS2H,EAAWpF,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EAAWtC,EAAYrC,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GAG3E,SAASmH,EAAYtF,EAAKU,EAAQmE,EAAQ1G,GACxC,OAAOkH,EAypCT,SAAuBE,GACrB,MAAMC,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,SAAUV,EAEhC+H,EAAUhH,KAAyB,IAApB+G,EAAIvH,WAAWP,IAEhC,OAAO+H,EA/pCWC,CAAa/E,GAASV,EAAK6E,EAAQ1G,GAGvD,SAASuH,EAAa1F,EAAKU,EAAQmE,EAAQ1G,GACzC,OAAOkH,EAAWrC,EAActC,GAASV,EAAK6E,EAAQ1G,GAGxD,SAASwH,EAAW3F,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EA0pCT,SAAyBE,EAAKK,GAC5B,IAAIC,EAAGC,EAAIC,EACX,MAAMP,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,WACjByH,GAAS,GAAK,KADanI,EAGhCoI,EAAIN,EAAIvH,WAAWP,GACnBqI,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTL,EAAUhH,KAAKuH,GACfP,EAAUhH,KAAKsH,GAGjB,OAAON,EAvqCWQ,CAAetF,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GA+E9E,SAASqF,EAAaxD,EAAKf,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQc,EAAI7B,OACtBkB,EAAOpB,cAAc+B,GAErBX,EAAOpB,cAAc+B,EAAIe,MAAM9B,EAAOC,IAIjD,SAASmE,EAAWrD,EAAKf,EAAOC,GAC9BA,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAC3B,MAAMiH,EAAM,GAEZ,IAAI1I,EAAIwB,EACR,KAAOxB,EAAIyB,GAAK,CACd,MAAMkH,EAAYpG,EAAIvC,GACtB,IAAI4I,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI3I,EAAI6I,GAAoBpH,EAAK,CAC/B,IAAIqH,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHG,EAAavG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,KACHG,GAA6B,GAAZN,IAAqB,EAAoB,GAAbG,EACzCG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACQ,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,KACnCE,GAA6B,GAAZN,IAAoB,IAAoB,GAAbG,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACpBgJ,EAAazG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,IAAsD,MAAV,IAAbC,KAClEC,GAA6B,GAAZN,IAAoB,IAAqB,GAAbG,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,KAMJ,OAAdL,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI3H,KAAK6H,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBF,EAAI3H,KAAK6H,GACT5I,GAAK6I,EAGP,OAQF,SAAgCK,GAC9B,MAAM7I,EAAM6I,EAAWxI,OACvB,GAAIL,GAAO8I,EACT,OAAOtC,OAAOuC,aAAaC,MAAMxC,OAAQqC,GAI3C,IAAIR,EAAM,GACN1I,EAAI,EACR,KAAOA,EAAIK,GACTqI,GAAO7B,OAAOuC,aAAaC,MACzBxC,OACAqC,EAAW5F,MAAMtD,EAAGA,GAAKmJ,IAG7B,OAAOT,EAvBAY,CAAsBZ,GA1+B/BnJ,EAAQgK,WAAanH,EAgBrBJ,EAAOwH,oBAUP,WAEE,IACE,MAAMvJ,EAAM,IAAIkB,WAAW,GACrBsI,EAAQ,CAAEC,IAAK,WAAc,OAAO,KAG1C,OAFAlH,OAAOC,eAAegH,EAAOtI,WAAWuB,WACxCF,OAAOC,eAAexC,EAAKwJ,GACN,KAAdxJ,EAAIyJ,MACX,MAAOC,GACP,OAAO,GAnBkBC,GAExB5H,EAAOwH,qBAA0C,oBAAZK,SACb,mBAAlBA,QAAQC,OACjBD,QAAQC,MACN,iJAkBJtH,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK5B,UAIhBtB,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK3B,cAqChB/B,EAAOkI,SAAW,KA8DlBlI,EAAOe,KAAO,SAAUC,EAAOJ,EAAkBlC,GAC/C,OAAOqC,EAAKC,EAAOJ,EAAkBlC,IAKvC8B,OAAOC,eAAeT,EAAOU,UAAWvB,WAAWuB,WACnDF,OAAOC,eAAeT,EAAQb,YA8B9Ba,EAAOE,MAAQ,SAAU8C,EAAMmF,EAAMjH,GACnC,OArBF,SAAgB8B,EAAMmF,EAAMjH,GAE1B,OADA6B,EAAWC,GACPA,GAAQ,EACH3C,EAAa2C,QAETR,IAAT2F,EAIyB,iBAAbjH,EACVb,EAAa2C,GAAMmF,KAAKA,EAAMjH,GAC9Bb,EAAa2C,GAAMmF,KAAKA,GAEvB9H,EAAa2C,GAQb9C,CAAM8C,EAAMmF,EAAMjH,IAW3BlB,EAAOc,YAAc,SAAUkC,GAC7B,OAAOlC,EAAYkC,IAKrBhD,EAAOoI,gBAAkB,SAAUpF,GACjC,OAAOlC,EAAYkC,IA8GrBhD,EAAOsC,SAAW,SAAmBF,GACnC,OAAY,MAALA,IAA6B,IAAhBA,EAAEiG,WACpBjG,IAAMpC,EAAOU,WAGjBV,EAAOsI,QAAU,SAAkBC,EAAGnG,GAGpC,GAFIT,EAAW4G,EAAGpJ,cAAaoJ,EAAIvI,EAAOe,KAAKwH,EAAGA,EAAEnD,OAAQmD,EAAE/K,aAC1DmE,EAAWS,EAAGjD,cAAaiD,EAAIpC,EAAOe,KAAKqB,EAAGA,EAAEgD,OAAQhD,EAAE5E,cACzDwC,EAAOsC,SAASiG,KAAOvI,EAAOsC,SAASF,GAC1C,MAAM,IAAIvB,UACR,yEAIJ,GAAI0H,IAAMnG,EAAG,OAAO,EAEpB,IAAIoG,EAAID,EAAE7J,OACN+J,EAAIrG,EAAE1D,OAEV,IAAK,IAAIV,EAAI,EAAGK,EAAMmI,KAAKC,IAAI+B,EAAGC,GAAIzK,EAAIK,IAAOL,EAC/C,GAAIuK,EAAEvK,KAAOoE,EAAEpE,GAAI,CACjBwK,EAAID,EAAEvK,GACNyK,EAAIrG,EAAEpE,GACN,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGTxI,EAAOmB,WAAa,SAAqBD,GACvC,OAAQ2D,OAAO3D,GAAUsC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbxD,EAAO0I,OAAS,SAAiBC,EAAMjK,GACrC,IAAKU,MAAMuD,QAAQgG,GACjB,MAAM,IAAI9H,UAAU,+CAGtB,GAAoB,IAAhB8H,EAAKjK,OACP,OAAOsB,EAAOE,MAAM,GAGtB,IAAIlC,EACJ,QAAewE,IAAX9D,EAEF,IADAA,EAAS,EACJV,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAC7BU,GAAUiK,EAAK3K,GAAGU,OAItB,MAAMoD,EAAS9B,EAAOc,YAAYpC,GAClC,IAAIkK,EAAM,EACV,IAAK5K,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAAG,CAChC,IAAIuC,EAAMoI,EAAK3K,GACf,GAAI2D,EAAWpB,EAAKpB,YACdyJ,EAAMrI,EAAI7B,OAASoD,EAAOpD,QACvBsB,EAAOsC,SAAS/B,KAAMA,EAAMP,EAAOe,KAAKR,IAC7CA,EAAIqB,KAAKE,EAAQ8G,IAEjBzJ,WAAWuB,UAAUmI,IAAIrE,KACvB1C,EACAvB,EACAqI,OAGC,KAAK5I,EAAOsC,SAAS/B,GAC1B,MAAM,IAAIM,UAAU,+CAEpBN,EAAIqB,KAAKE,EAAQ8G,GAEnBA,GAAOrI,EAAI7B,OAEb,OAAOoD,GAkDT9B,EAAOxC,WAAaA,EA8EpBwC,EAAOU,UAAU2H,WAAY,EAQ7BrI,EAAOU,UAAUoI,OAAS,WACxB,MAAMzK,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAEpB,OAAO0F,MAGT1D,EAAOU,UAAUqI,OAAS,WACxB,MAAM1K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUsI,OAAS,WACxB,MAAM3K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUwC,SAAW,WAC1B,MAAMxE,EAASgF,KAAKhF,OACpB,OAAe,IAAXA,EAAqB,GACA,IAArB0E,UAAU1E,OAAqBkF,EAAUF,KAAM,EAAGhF,GAC/C+E,EAAa4D,MAAM3D,KAAMN,YAGlCpD,EAAOU,UAAUuI,eAAiBjJ,EAAOU,UAAUwC,SAEnDlD,EAAOU,UAAUwI,OAAS,SAAiB9G,GACzC,IAAKpC,EAAOsC,SAASF,GAAI,MAAM,IAAIvB,UAAU,6BAC7C,OAAI6C,OAAStB,GACsB,IAA5BpC,EAAOsI,QAAQ5E,KAAMtB,IAG9BpC,EAAOU,UAAUyI,QAAU,WACzB,IAAIrD,EAAM,GACV,MAAMsD,EAAM7L,EAAQ4C,kBAGpB,OAFA2F,EAAMpC,KAAKR,SAAS,MAAO,EAAGkG,GAAKC,QAAQ,UAAW,OAAOC,OACzD5F,KAAKhF,OAAS0K,IAAKtD,GAAO,SACvB,WAAaA,EAAM,KAExBhG,IACFE,EAAOU,UAAUZ,GAAuBE,EAAOU,UAAUyI,SAG3DnJ,EAAOU,UAAU4H,QAAU,SAAkBiB,EAAQ/J,EAAOC,EAAK+J,EAAWC,GAI1E,GAHI9H,EAAW4H,EAAQpK,cACrBoK,EAASvJ,EAAOe,KAAKwI,EAAQA,EAAOnE,OAAQmE,EAAO/L,cAEhDwC,EAAOsC,SAASiH,GACnB,MAAM,IAAI1I,UACR,wFAC2B0I,GAiB/B,QAbc/G,IAAVhD,IACFA,EAAQ,QAEEgD,IAAR/C,IACFA,EAAM8J,EAASA,EAAO7K,OAAS,QAEf8D,IAAdgH,IACFA,EAAY,QAEEhH,IAAZiH,IACFA,EAAU/F,KAAKhF,QAGbc,EAAQ,GAAKC,EAAM8J,EAAO7K,QAAU8K,EAAY,GAAKC,EAAU/F,KAAKhF,OACtE,MAAM,IAAI4B,WAAW,sBAGvB,GAAIkJ,GAAaC,GAAWjK,GAASC,EACnC,OAAO,EAET,GAAI+J,GAAaC,EACf,OAAQ,EAEV,GAAIjK,GAASC,EACX,OAAO,EAQT,GAAIiE,OAAS6F,EAAQ,OAAO,EAE5B,IAAIf,GAJJiB,KAAa,IADbD,KAAe,GAMXf,GAPJhJ,KAAS,IADTD,KAAW,GASX,MAAMnB,EAAMmI,KAAKC,IAAI+B,EAAGC,GAElBiB,EAAWhG,KAAKpC,MAAMkI,EAAWC,GACjCE,EAAaJ,EAAOjI,MAAM9B,EAAOC,GAEvC,IAAK,IAAIzB,EAAI,EAAGA,EAAIK,IAAOL,EACzB,GAAI0L,EAAS1L,KAAO2L,EAAW3L,GAAI,CACjCwK,EAAIkB,EAAS1L,GACbyK,EAAIkB,EAAW3L,GACf,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA4HTxI,EAAOU,UAAUkJ,SAAW,SAAmBvF,EAAKtC,EAAYb,GAC9D,OAAoD,IAA7CwC,KAAKnE,QAAQ8E,EAAKtC,EAAYb,IAGvClB,EAAOU,UAAUnB,QAAU,SAAkB8E,EAAKtC,EAAYb,GAC5D,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IAG/DlB,EAAOU,UAAU+D,YAAc,SAAsBJ,EAAKtC,EAAYb,GACpE,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IA6C/DlB,EAAOU,UAAUW,MAAQ,SAAgBJ,EAAQmE,EAAQ1G,EAAQwC,GAE/D,QAAesB,IAAX4C,EACFlE,EAAW,OACXxC,EAASgF,KAAKhF,OACd0G,EAAS,OAEJ,QAAe5C,IAAX9D,GAA0C,iBAAX0G,EACxClE,EAAWkE,EACX1G,EAASgF,KAAKhF,OACd0G,EAAS,MAEJ,KAAIyE,SAASzE,GAUlB,MAAM,IAAI9F,MACR,2EAVF8F,KAAoB,EAChByE,SAASnL,IACXA,KAAoB,OACH8D,IAAbtB,IAAwBA,EAAW,UAEvCA,EAAWxC,EACXA,OAAS8D,GAQb,MAAM8C,EAAY5B,KAAKhF,OAAS0G,EAGhC,SAFe5C,IAAX9D,GAAwBA,EAAS4G,KAAW5G,EAAS4G,GAEpDrE,EAAOvC,OAAS,IAAMA,EAAS,GAAK0G,EAAS,IAAOA,EAAS1B,KAAKhF,OACrE,MAAM,IAAI4B,WAAW,0CAGlBY,IAAUA,EAAW,QAE1B,IAAImC,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,MACH,OAAOiE,EAASzB,KAAMzC,EAAQmE,EAAQ1G,GAExC,IAAK,OACL,IAAK,QACH,OAAOiH,EAAUjC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOmH,EAAWnC,KAAMzC,EAAQmE,EAAQ1G,GAE1C,IAAK,SAEH,OAAOuH,EAAYvC,KAAMzC,EAAQmE,EAAQ1G,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOwH,EAAUxC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,QACE,GAAI2E,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,IAKtBrD,EAAOU,UAAUoJ,OAAS,WACxB,MAAO,CACLpH,KAAM,SACNE,KAAMxD,MAAMsB,UAAUY,MAAMkD,KAAKd,KAAKqG,MAAQrG,KAAM,KA2FxD,MAAMyD,EAAuB,KAoB7B,SAAStD,EAAYtD,EAAKf,EAAOC,GAC/B,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAsB,IAAT7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASlG,EAAavD,EAAKf,EAAOC,GAChC,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAa7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASrG,EAAUpD,EAAKf,EAAOC,GAC7B,MAAMpB,EAAMkC,EAAI7B,SAEXc,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMpB,KAAKoB,EAAMpB,GAExC,IAAI4L,EAAM,GACV,IAAK,IAAIjM,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BiM,GAAOC,EAAoB3J,EAAIvC,IAEjC,OAAOiM,EAGT,SAASjG,EAAczD,EAAKf,EAAOC,GACjC,MAAM0K,EAAQ5J,EAAIe,MAAM9B,EAAOC,GAC/B,IAAIiH,EAAM,GAEV,IAAK,IAAI1I,EAAI,EAAGA,EAAImM,EAAMzL,OAAS,EAAGV,GAAK,EACzC0I,GAAO7B,OAAOuC,aAAa+C,EAAMnM,GAAqB,IAAfmM,EAAMnM,EAAI,IAEnD,OAAO0I,EAkCT,SAAS0D,EAAahF,EAAQiF,EAAK3L,GACjC,GAAK0G,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAC3D,GAAI8E,EAASiF,EAAM3L,EAAQ,MAAM,IAAI4B,WAAW,yCA0QlD,SAASgK,EAAU/J,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GAC/C,IAAKzG,EAAOsC,SAAS/B,GAAM,MAAM,IAAIM,UAAU,+CAC/C,GAAIG,EAAQoI,GAAOpI,EAAQyF,EAAK,MAAM,IAAInG,WAAW,qCACrD,GAAI8E,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBAgGtD,SAASiK,EAAgBhK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EACTjB,EAGT,SAASsF,EAAgBnK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,GAAUiB,EACPjB,EAAS,EAmHlB,SAASuF,EAAcpK,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GACnD,GAAIrB,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBACpD,GAAI8E,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAGvC,SAASsK,EAAYrK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOrD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAWlB,SAAS2F,EAAaxK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOtD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAxkBlBpF,EAAOU,UAAUY,MAAQ,SAAgB9B,EAAOC,GAC9C,MAAMpB,EAAMqF,KAAKhF,QACjBc,IAAUA,GAGE,GACVA,GAASnB,GACG,IAAGmB,EAAQ,GACdA,EAAQnB,IACjBmB,EAAQnB,IANVoB,OAAc+C,IAAR/C,EAAoBpB,IAAQoB,GASxB,GACRA,GAAOpB,GACG,IAAGoB,EAAM,GACVA,EAAMpB,IACfoB,EAAMpB,GAGJoB,EAAMD,IAAOC,EAAMD,GAEvB,MAAMwL,EAAStH,KAAKuH,SAASzL,EAAOC,GAIpC,OAFAe,OAAOC,eAAeuK,EAAQhL,EAAOU,WAE9BsK,GAWThL,EAAOU,UAAUwK,WACjBlL,EAAOU,UAAUyK,WAAa,SAAqB/F,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAG5B,OAAO/G,GAGTrE,EAAOU,UAAU2K,WACjBrL,EAAOU,UAAU4K,WAAa,SAAqBlG,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GACHV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAGvC,IAAI2F,EAAMX,KAAK0B,IAAW5H,GACtB4N,EAAM,EACV,KAAO5N,EAAa,IAAM4N,GAAO,MAC/B/G,GAAOX,KAAK0B,IAAW5H,GAAc4N,EAGvC,OAAO/G,GAGTrE,EAAOU,UAAU6K,UACjBvL,EAAOU,UAAU8K,UAAY,SAAoBpG,EAAQ0F,GAGvD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,IAGdpF,EAAOU,UAAU+K,aACjBzL,EAAOU,UAAUgL,aAAe,SAAuBtG,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,GAG7CpF,EAAOU,UAAUiL,aACjB3L,EAAOU,UAAUqE,aAAe,SAAuBK,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACnCgF,KAAK0B,IAAW,EAAK1B,KAAK0B,EAAS,IAG7CpF,EAAOU,UAAUkL,aACjB5L,EAAOU,UAAUmL,aAAe,SAAuBzG,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,SAElCgF,KAAK0B,GACT1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,IACD,SAAnB1B,KAAK0B,EAAS,IAGrBpF,EAAOU,UAAUoL,aACjB9L,EAAOU,UAAUqL,aAAe,SAAuB3G,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEpB,SAAfgF,KAAK0B,IACT1B,KAAK0B,EAAS,IAAM,GACrB1B,KAAK0B,EAAS,IAAM,EACrB1B,KAAK0B,EAAS,KAGlBpF,EAAOU,UAAUsL,gBAAkBC,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM4H,EAAK6F,EACQ,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,GAElBiB,EAAK3C,OAAO0B,GACC,IAAjB1B,OAAO0B,GACU,MAAjB1B,OAAO0B,GACPgH,EAAO,GAAK,GAEd,OAAO3B,OAAOnE,IAAOmE,OAAOpE,IAAOoE,OAAO,QAG5CzK,EAAOU,UAAU4L,gBAAkBL,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2H,EAAK8F,EAAQ,GAAK,GACL,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAEHkB,EAAK5C,OAAO0B,GAAU,GAAK,GACd,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,EAEF,OAAQ3B,OAAOpE,IAAOoE,OAAO,KAAOA,OAAOnE,MAG7CtG,EAAOU,UAAU6L,UAAY,SAAoBnH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAM5B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAU+L,UAAY,SAAoBrH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAIV,EAAIR,EACJ4N,EAAM,EACN/G,EAAMX,KAAK0B,IAAWpH,GAC1B,KAAOA,EAAI,IAAMoN,GAAO,MACtB/G,GAAOX,KAAK0B,IAAWpH,GAAKoN,EAM9B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAUgM,SAAW,SAAmBtH,EAAQ0F,GAGrD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACtB,IAAfgF,KAAK0B,IAC0B,GAA5B,IAAO1B,KAAK0B,GAAU,GADK1B,KAAK0B,IAI3CpF,EAAOU,UAAUiM,YAAc,SAAsBvH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUkM,YAAc,SAAsBxH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,EAAS,GAAM1B,KAAK0B,IAAW,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUmM,YAAc,SAAsBzH,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,GACV1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,IAGzBpF,EAAOU,UAAUoM,YAAc,SAAsB1H,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,IAAW,GACrB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAGnBpF,EAAOU,UAAUqM,eAAiBd,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,EAAMX,KAAK0B,EAAS,GACL,IAAnB1B,KAAK0B,EAAS,GACK,MAAnB1B,KAAK0B,EAAS,IACbgH,GAAQ,IAEX,OAAQ3B,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO0B,EACU,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,OAG1BpF,EAAOU,UAAUsM,eAAiBf,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,GAAO8H,GAAS,IACH,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAET,OAAQqF,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO/G,OAAO0B,GAAU,GAAK,GACZ,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,MAGJpM,EAAOU,UAAUuM,YAAc,SAAsB7H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAUwM,YAAc,SAAsB9H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAG/CpF,EAAOU,UAAUyM,aAAe,SAAuB/H,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAU0M,aAAe,SAAuBhI,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAS/CpF,EAAOU,UAAU2M,YACjBrN,EAAOU,UAAU4M,YAAc,SAAsBtM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAI4N,EAAM,EACNpN,EAAI,EAER,IADA0F,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MACjC1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU6M,YACjBvN,EAAOU,UAAU8M,YAAc,SAAsBxM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAIQ,EAAIR,EAAa,EACjB4N,EAAM,EAEV,IADA1H,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACzB1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU+M,WACjBzN,EAAOU,UAAUgN,WAAa,SAAqB1M,EAAOoE,EAAQ0F,GAKhE,OAJA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,IAAM,GACtD1B,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUiN,cACjB3N,EAAOU,UAAUkN,cAAgB,SAAwB5M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmN,cACjB7N,EAAOU,UAAUoN,cAAgB,SAAwB9M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUqN,cACjB/N,EAAOU,UAAUsN,cAAgB,SAAwBhN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUuN,cACjBjO,EAAOU,UAAUwN,cAAgB,SAAwBlN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GA+ClBpF,EAAOU,UAAUyN,iBAAmBlC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOmF,EAAe7G,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU0N,iBAAmBnC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOsF,EAAehH,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU2N,WAAa,SAAqBrN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAI,EACJoN,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MAC7BpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU8N,WAAa,SAAqBxN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAIR,EAAa,EACjB4N,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACrBpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU+N,UAAY,SAAoBzN,EAAOoE,EAAQ0F,GAM9D,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,KAAO,KACnDpE,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUgO,aAAe,SAAuB1N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUiO,aAAe,SAAuB3N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUkO,aAAe,SAAuB5N,EAAOoE,EAAQ0F,GAQpE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YAC7D1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmO,aAAe,SAAuB7N,EAAOoE,EAAQ0F,GASpE,OARA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YACzDpE,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C0C,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUoO,gBAAkB7C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOmF,EAAe7G,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAGnFzK,EAAOU,UAAUqO,gBAAkB9C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOsF,EAAehH,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAkBnFzK,EAAOU,UAAUsO,aAAe,SAAuBhO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAG/C9K,EAAOU,UAAUuO,aAAe,SAAuBjO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAahD9K,EAAOU,UAAUwO,cAAgB,SAAwBlO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAGhD9K,EAAOU,UAAUyO,cAAgB,SAAwBnO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAIjD9K,EAAOU,UAAUkB,KAAO,SAAe2H,EAAQ6F,EAAa5P,EAAOC,GACjE,IAAKO,EAAOsC,SAASiH,GAAS,MAAM,IAAI1I,UAAU,+BAQlD,GAPKrB,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMiE,KAAKhF,QAC9B0Q,GAAe7F,EAAO7K,SAAQ0Q,EAAc7F,EAAO7K,QAClD0Q,IAAaA,EAAc,GAC5B3P,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlB+J,EAAO7K,QAAgC,IAAhBgF,KAAKhF,OAAc,OAAO,EAGrD,GAAI0Q,EAAc,EAChB,MAAM,IAAI9O,WAAW,6BAEvB,GAAId,EAAQ,GAAKA,GAASkE,KAAKhF,OAAQ,MAAM,IAAI4B,WAAW,sBAC5D,GAAIb,EAAM,EAAG,MAAM,IAAIa,WAAW,2BAG9Bb,EAAMiE,KAAKhF,SAAQe,EAAMiE,KAAKhF,QAC9B6K,EAAO7K,OAAS0Q,EAAc3P,EAAMD,IACtCC,EAAM8J,EAAO7K,OAAS0Q,EAAc5P,GAGtC,MAAMnB,EAAMoB,EAAMD,EAalB,OAXIkE,OAAS6F,GAAqD,mBAApCpK,WAAWuB,UAAU2O,WAEjD3L,KAAK2L,WAAWD,EAAa5P,EAAOC,GAEpCN,WAAWuB,UAAUmI,IAAIrE,KACvB+E,EACA7F,KAAKuH,SAASzL,EAAOC,GACrB2P,GAIG/Q,GAOT2B,EAAOU,UAAUyH,KAAO,SAAe9D,EAAK7E,EAAOC,EAAKyB,GAEtD,GAAmB,iBAARmD,EAAkB,CAS3B,GARqB,iBAAV7E,GACT0B,EAAW1B,EACXA,EAAQ,EACRC,EAAMiE,KAAKhF,QACa,iBAARe,IAChByB,EAAWzB,EACXA,EAAMiE,KAAKhF,aAEI8D,IAAbtB,GAA8C,iBAAbA,EACnC,MAAM,IAAIL,UAAU,6BAEtB,GAAwB,iBAAbK,IAA0BlB,EAAOmB,WAAWD,GACrD,MAAM,IAAIL,UAAU,qBAAuBK,GAE7C,GAAmB,IAAfmD,EAAI3F,OAAc,CACpB,MAAMW,EAAOgF,EAAI9F,WAAW,IACV,SAAb2C,GAAuB7B,EAAO,KAClB,WAAb6B,KAEFmD,EAAMhF,QAGc,iBAARgF,EAChBA,GAAY,IACY,kBAARA,IAChBA,EAAMgB,OAAOhB,IAIf,GAAI7E,EAAQ,GAAKkE,KAAKhF,OAASc,GAASkE,KAAKhF,OAASe,EACpD,MAAM,IAAIa,WAAW,sBAGvB,GAAIb,GAAOD,EACT,OAAOkE,KAQT,IAAI1F,EACJ,GANAwB,KAAkB,EAClBC,OAAc+C,IAAR/C,EAAoBiE,KAAKhF,OAASe,IAAQ,EAE3C4E,IAAKA,EAAM,GAGG,iBAARA,EACT,IAAKrG,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EACzB0F,KAAK1F,GAAKqG,MAEP,CACL,MAAM8F,EAAQnK,EAAOsC,SAAS+B,GAC1BA,EACArE,EAAOe,KAAKsD,EAAKnD,GACf7C,EAAM8L,EAAMzL,OAClB,GAAY,IAARL,EACF,MAAM,IAAIwC,UAAU,cAAgBwD,EAClC,qCAEJ,IAAKrG,EAAI,EAAGA,EAAIyB,EAAMD,IAASxB,EAC7B0F,KAAK1F,EAAIwB,GAAS2K,EAAMnM,EAAIK,GAIhC,OAAOqF,MAOT,MAAM4L,EAAS,GACf,SAASC,EAAGC,EAAKC,EAAYC,GAC3BJ,EAAOE,GAAO,cAAwBE,EACpCC,cACEC,QAEApP,OAAOuH,eAAerE,KAAM,UAAW,CACrC1C,MAAOyO,EAAWpI,MAAM3D,KAAMN,WAC9ByM,UAAU,EACVC,cAAc,IAIhBpM,KAAKqM,KAAO,GAAGrM,KAAKqM,SAASP,KAG7B9L,KAAKsM,aAEEtM,KAAKqM,KAGd,WACE,OAAOP,EAGT,SAAUxO,GACRR,OAAOuH,eAAerE,KAAM,OAAQ,CAClCoM,cAAc,EACd9H,YAAY,EACZhH,QACA6O,UAAU,IAId3M,WACE,MAAO,GAAGQ,KAAKqM,SAASP,OAAS9L,KAAKuM,YAkC5C,SAASC,EAAuB7L,GAC9B,IAAIqC,EAAM,GACN1I,EAAIqG,EAAI3F,OACZ,MAAMc,EAAmB,MAAX6E,EAAI,GAAa,EAAI,EACnC,KAAOrG,GAAKwB,EAAQ,EAAGxB,GAAK,EAC1B0I,EAAM,IAAIrC,EAAI/C,MAAMtD,EAAI,EAAGA,KAAK0I,IAElC,MAAO,GAAGrC,EAAI/C,MAAM,EAAGtD,KAAK0I,IAa9B,SAAS8D,EAAYxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ5H,GACjD,GAAIwD,EAAQoI,GAAOpI,EAAQyF,EAAK,CAC9B,MAAMvC,EAAmB,iBAARuC,EAAmB,IAAM,GAC1C,IAAI0J,EAWJ,MARIA,EAFA3S,EAAa,EACH,IAARiJ,GAAaA,IAAQgE,OAAO,GACtB,OAAOvG,YAAYA,QAA2B,GAAlB1G,EAAa,KAAS0G,IAElD,SAASA,QAA2B,GAAlB1G,EAAa,GAAS,IAAI0G,iBACtB,GAAlB1G,EAAa,GAAS,IAAI0G,IAGhC,MAAMuC,IAAMvC,YAAYkF,IAAMlF,IAElC,IAAIoL,EAAOc,iBAAiB,QAASD,EAAOnP,IArBtD,SAAsBT,EAAK6E,EAAQ5H,GACjC0O,EAAe9G,EAAQ,eACH5C,IAAhBjC,EAAI6E,SAAsD5C,IAA7BjC,EAAI6E,EAAS5H,IAC5C6O,EAAYjH,EAAQ7E,EAAI7B,QAAUlB,EAAa,IAoBjD6S,CAAY9P,EAAK6E,EAAQ5H,GAG3B,SAAS0O,EAAgBlL,EAAO+O,GAC9B,GAAqB,iBAAV/O,EACT,MAAM,IAAIsO,EAAOgB,qBAAqBP,EAAM,SAAU/O,GAI1D,SAASqL,EAAarL,EAAOtC,EAAQgE,GACnC,GAAI8D,KAAK+J,MAAMvP,KAAWA,EAExB,MADAkL,EAAelL,EAAO0B,GAChB,IAAI4M,EAAOc,iBAAiB1N,GAAQ,SAAU,aAAc1B,GAGpE,GAAItC,EAAS,EACX,MAAM,IAAI4Q,EAAOkB,yBAGnB,MAAM,IAAIlB,EAAOc,iBAAiB1N,GAAQ,SACR,MAAMA,EAAO,EAAI,YAAYhE,IAC7BsC,GAtFpCuO,EAAE,4BACA,SAAUQ,GACR,OAAIA,EACK,GAAGA,gCAGL,mDACNzP,YACLiP,EAAE,wBACA,SAAUQ,EAAM3O,GACd,MAAO,QAAQ2O,4DAA+D3O,MAC7EP,WACL0O,EAAE,oBACA,SAAUzJ,EAAKqK,EAAOM,GACpB,IAAIC,EAAM,iBAAiB5K,sBACvB6K,EAAWF,EAWf,OAVIpL,OAAOuL,UAAUH,IAAUjK,KAAKqK,IAAIJ,GAAS,GAAK,GACpDE,EAAWT,EAAsBrL,OAAO4L,IACd,iBAAVA,IAChBE,EAAW9L,OAAO4L,IACdA,EAAQhG,OAAO,IAAMA,OAAO,KAAOgG,IAAUhG,OAAO,IAAMA,OAAO,QACnEkG,EAAWT,EAAsBS,IAEnCA,GAAY,KAEdD,GAAO,eAAeP,eAAmBQ,IAClCD,IACNpQ,YAiEL,MAAMwQ,EAAoB,oBAgB1B,SAASxN,EAAarC,EAAQkF,GAE5B,IAAIS,EADJT,EAAQA,GAAS4K,IAEjB,MAAMrS,EAASuC,EAAOvC,OACtB,IAAIsS,EAAgB,KACpB,MAAM7G,EAAQ,GAEd,IAAK,IAAInM,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAI/B,GAHA4I,EAAY3F,EAAO1C,WAAWP,GAG1B4I,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKoK,EAAe,CAElB,GAAIpK,EAAY,MAAQ,EAEjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SACK,GAAIf,EAAI,IAAMU,EAAQ,EAEtByH,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SAIFiS,EAAgBpK,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9CiS,EAAgBpK,EAChB,SAIFA,EAAkE,OAArDoK,EAAgB,OAAU,GAAKpK,EAAY,YAC/CoK,IAEJ7K,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAMhD,GAHAiS,EAAgB,KAGZpK,EAAY,IAAM,CACpB,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KAAK6H,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAItH,MAAM,sBARhB,IAAK6G,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOuD,EA4BT,SAAS5G,EAAeuC,GACtB,OAAOlG,EAAO9B,YAxHhB,SAAsBgI,GAMpB,IAFAA,GAFAA,EAAMA,EAAImL,MAAM,KAAK,IAEX3H,OAAOD,QAAQyH,EAAmB,KAEpCpS,OAAS,EAAG,MAAO,GAE3B,KAAOoH,EAAIpH,OAAS,GAAM,GACxBoH,GAAY,IAEd,OAAOA,EA6GmBoL,CAAYpL,IAGxC,SAASF,EAAYuL,EAAKC,EAAKhM,EAAQ1G,GACrC,IAAIV,EACJ,IAAKA,EAAI,EAAGA,EAAIU,KACTV,EAAIoH,GAAUgM,EAAI1S,QAAYV,GAAKmT,EAAIzS,UADpBV,EAExBoT,EAAIpT,EAAIoH,GAAU+L,EAAInT,GAExB,OAAOA,EAMT,SAAS2D,EAAYU,EAAKK,GACxB,OAAOL,aAAeK,GACZ,MAAPL,GAAkC,MAAnBA,EAAIsN,aAA+C,MAAxBtN,EAAIsN,YAAYI,MACzD1N,EAAIsN,YAAYI,OAASrN,EAAKqN,KAEpC,SAAStN,EAAaJ,GAEpB,OAAOA,GAAQA,EAKjB,MAAM6H,EAAsB,WAC1B,MAAMmH,EAAW,mBACXC,EAAQ,IAAIlS,MAAM,KACxB,IAAK,IAAIpB,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,MAAMuT,EAAU,GAAJvT,EACZ,IAAK,IAAIkH,EAAI,EAAGA,EAAI,KAAMA,EACxBoM,EAAMC,EAAMrM,GAAKmM,EAASrT,GAAKqT,EAASnM,GAG5C,OAAOoM,EATmB,GAa5B,SAASrF,EAAoBuF,GAC3B,MAAyB,oBAAX/G,OAAyBgH,EAAyBD,EAGlE,SAASC,IACP,MAAM,IAAInS,MAAM,0B,YCvjElB/B,EAAQuH,KAAO,SAAUhD,EAAQsD,EAAQsM,EAAMC,EAAMC,GACnD,IAAIjK,EAAGxD,EACH0N,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACThU,EAAI0T,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,GAAQ,EAAI,EAChBQ,EAAIpQ,EAAOsD,EAASpH,GAOxB,IALAA,GAAKiU,EAELtK,EAAIuK,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAGrK,EAAS,IAAJA,EAAW7F,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAKvE,IAHA7N,EAAIwD,GAAM,IAAOqK,GAAU,EAC3BrK,KAAQqK,EACRA,GAASL,EACFK,EAAQ,EAAG7N,EAAS,IAAJA,EAAWrC,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAEvE,GAAU,IAANrK,EACFA,EAAI,EAAIoK,MACH,IAAIpK,IAAMmK,EACf,OAAO3N,EAAIgO,IAAsBpB,KAAdmB,GAAK,EAAI,GAE5B/N,GAAQqC,KAAKgG,IAAI,EAAGmF,GACpBhK,GAAQoK,EAEV,OAAQG,GAAK,EAAI,GAAK/N,EAAIqC,KAAKgG,IAAI,EAAG7E,EAAIgK,IAG5CpU,EAAQ8D,MAAQ,SAAUS,EAAQd,EAAOoE,EAAQsM,EAAMC,EAAMC,GAC3D,IAAIjK,EAAGxD,EAAGiC,EACNyL,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAcnL,KAAKgG,IAAI,GAAI,IAAMhG,KAAKgG,IAAI,GAAI,IAAM,EAC1DxO,EAAI0T,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,GAAK,EAChBQ,EAAIlR,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQwF,KAAKqK,IAAI7P,GAEbqR,MAAMrR,IAAUA,IAAU+P,KAC5B5M,EAAIkO,MAAMrR,GAAS,EAAI,EACvB2G,EAAImK,IAEJnK,EAAInB,KAAK+J,MAAM/J,KAAK8L,IAAItR,GAASwF,KAAK+L,KAClCvR,GAASoF,EAAII,KAAKgG,IAAI,GAAI7E,IAAM,IAClCA,IACAvB,GAAK,IAGLpF,GADE2G,EAAIoK,GAAS,EACNK,EAAKhM,EAELgM,EAAK5L,KAAKgG,IAAI,EAAG,EAAIuF,IAEpB3L,GAAK,IACfuB,IACAvB,GAAK,GAGHuB,EAAIoK,GAASD,GACf3N,EAAI,EACJwD,EAAImK,GACKnK,EAAIoK,GAAS,GACtB5N,GAAMnD,EAAQoF,EAAK,GAAKI,KAAKgG,IAAI,EAAGmF,GACpChK,GAAQoK,IAER5N,EAAInD,EAAQwF,KAAKgG,IAAI,EAAGuF,EAAQ,GAAKvL,KAAKgG,IAAI,EAAGmF,GACjDhK,EAAI,IAIDgK,GAAQ,EAAG7P,EAAOsD,EAASpH,GAAS,IAAJmG,EAAUnG,GAAKiU,EAAG9N,GAAK,IAAKwN,GAAQ,GAI3E,IAFAhK,EAAKA,GAAKgK,EAAQxN,EAClB0N,GAAQF,EACDE,EAAO,EAAG/P,EAAOsD,EAASpH,GAAS,IAAJ2J,EAAU3J,GAAKiU,EAAGtK,GAAK,IAAKkK,GAAQ,GAE1E/P,EAAOsD,EAASpH,EAAIiU,IAAU,IAAJC,I,sBCzD5B,SAASM,EAAWC,GAClB,GAAoB,iBAATA,EACT,MAAM,IAAI5R,UAAU,mCAAqC6R,KAAKC,UAAUF,IAK5E,SAASG,EAAqBH,EAAMI,GAMlC,IALA,IAIIxT,EAJAqH,EAAM,GACNoM,EAAoB,EACpBC,GAAa,EACbC,EAAO,EAEFhV,EAAI,EAAGA,GAAKyU,EAAK/T,SAAUV,EAAG,CACrC,GAAIA,EAAIyU,EAAK/T,OACXW,EAAOoT,EAAKlU,WAAWP,OACpB,IAAa,KAATqB,EACP,MAEAA,EAAO,GACT,GAAa,KAATA,EAAmB,CACrB,GAAI0T,IAAc/U,EAAI,GAAc,IAATgV,QAEpB,GAAID,IAAc/U,EAAI,GAAc,IAATgV,EAAY,CAC5C,GAAItM,EAAIhI,OAAS,GAA2B,IAAtBoU,GAA8D,KAAnCpM,EAAInI,WAAWmI,EAAIhI,OAAS,IAAsD,KAAnCgI,EAAInI,WAAWmI,EAAIhI,OAAS,GAC1H,GAAIgI,EAAIhI,OAAS,EAAG,CAClB,IAAIuU,EAAiBvM,EAAIjC,YAAY,KACrC,GAAIwO,IAAmBvM,EAAIhI,OAAS,EAAG,EACb,IAApBuU,GACFvM,EAAM,GACNoM,EAAoB,GAGpBA,GADApM,EAAMA,EAAIpF,MAAM,EAAG2R,IACKvU,OAAS,EAAIgI,EAAIjC,YAAY,KAEvDsO,EAAY/U,EACZgV,EAAO,EACP,eAEG,GAAmB,IAAftM,EAAIhI,QAA+B,IAAfgI,EAAIhI,OAAc,CAC/CgI,EAAM,GACNoM,EAAoB,EACpBC,EAAY/U,EACZgV,EAAO,EACP,SAGAH,IACEnM,EAAIhI,OAAS,EACfgI,GAAO,MAEPA,EAAM,KACRoM,EAAoB,QAGlBpM,EAAIhI,OAAS,EACfgI,GAAO,IAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAEvC0I,EAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAClC8U,EAAoB9U,EAAI+U,EAAY,EAEtCA,EAAY/U,EACZgV,EAAO,OACW,KAAT3T,IAA+B,IAAV2T,IAC5BA,EAEFA,GAAQ,EAGZ,OAAOtM,EAeT,IAAIwM,EAAQ,CAEVC,QAAS,WAKP,IAJA,IAEIC,EAFAC,EAAe,GACfC,GAAmB,EAGdtV,EAAIoF,UAAU1E,OAAS,EAAGV,IAAM,IAAMsV,EAAkBtV,IAAK,CACpE,IAAIyU,EACAzU,GAAK,EACPyU,EAAOrP,UAAUpF,SAELwE,IAAR4Q,IACFA,EAAM,KACRX,EAAOW,GAGTZ,EAAWC,GAGS,IAAhBA,EAAK/T,SAIT2U,EAAeZ,EAAO,IAAMY,EAC5BC,EAA0C,KAAvBb,EAAKlU,WAAW,IASrC,OAFA8U,EAAeT,EAAqBS,GAAeC,GAE/CA,EACED,EAAa3U,OAAS,EACjB,IAAM2U,EAEN,IACAA,EAAa3U,OAAS,EACxB2U,EAEA,KAIXE,UAAW,SAAmBd,GAG5B,GAFAD,EAAWC,GAES,IAAhBA,EAAK/T,OAAc,MAAO,IAE9B,IAAI8U,EAAoC,KAAvBf,EAAKlU,WAAW,GAC7BkV,EAAyD,KAArChB,EAAKlU,WAAWkU,EAAK/T,OAAS,GAQtD,OAHoB,KAFpB+T,EAAOG,EAAqBH,GAAOe,IAE1B9U,QAAiB8U,IAAYf,EAAO,KACzCA,EAAK/T,OAAS,GAAK+U,IAAmBhB,GAAQ,KAE9Ce,EAAmB,IAAMf,EACtBA,GAGTe,WAAY,SAAoBf,GAE9B,OADAD,EAAWC,GACJA,EAAK/T,OAAS,GAA4B,KAAvB+T,EAAKlU,WAAW,IAG5CW,KAAM,WACJ,GAAyB,IAArBkE,UAAU1E,OACZ,MAAO,IAET,IADA,IAAIgV,EACK1V,EAAI,EAAGA,EAAIoF,UAAU1E,SAAUV,EAAG,CACzC,IAAI2C,EAAMyC,UAAUpF,GACpBwU,EAAW7R,GACPA,EAAIjC,OAAS,SACA8D,IAAXkR,EACFA,EAAS/S,EAET+S,GAAU,IAAM/S,GAGtB,YAAe6B,IAAXkR,EACK,IACFR,EAAMK,UAAUG,IAGzBC,SAAU,SAAkB5S,EAAM6S,GAIhC,GAHApB,EAAWzR,GACXyR,EAAWoB,GAEP7S,IAAS6S,EAAI,MAAO,GAKxB,IAHA7S,EAAOmS,EAAMC,QAAQpS,OACrB6S,EAAKV,EAAMC,QAAQS,IAEF,MAAO,GAIxB,IADA,IAAIC,EAAY,EACTA,EAAY9S,EAAKrC,QACa,KAA/BqC,EAAKxC,WAAWsV,KADYA,GASlC,IALA,IAAIC,EAAU/S,EAAKrC,OACfqV,EAAUD,EAAUD,EAGpBG,EAAU,EACPA,EAAUJ,EAAGlV,QACa,KAA3BkV,EAAGrV,WAAWyV,KADUA,GAW9B,IAPA,IACIC,EADQL,EAAGlV,OACKsV,EAGhBtV,EAASqV,EAAUE,EAAQF,EAAUE,EACrCC,GAAiB,EACjBlW,EAAI,EACDA,GAAKU,IAAUV,EAAG,CACvB,GAAIA,IAAMU,EAAQ,CAChB,GAAIuV,EAAQvV,EAAQ,CAClB,GAAmC,KAA/BkV,EAAGrV,WAAWyV,EAAUhW,GAG1B,OAAO4V,EAAGtS,MAAM0S,EAAUhW,EAAI,GACzB,GAAU,IAANA,EAGT,OAAO4V,EAAGtS,MAAM0S,EAAUhW,QAEnB+V,EAAUrV,IACoB,KAAnCqC,EAAKxC,WAAWsV,EAAY7V,GAG9BkW,EAAgBlW,EACD,IAANA,IAGTkW,EAAgB,IAGpB,MAEF,IAAIC,EAAWpT,EAAKxC,WAAWsV,EAAY7V,GAE3C,GAAImW,IADSP,EAAGrV,WAAWyV,EAAUhW,GAEnC,MACoB,KAAbmW,IACPD,EAAgBlW,GAGpB,IAAIiM,EAAM,GAGV,IAAKjM,EAAI6V,EAAYK,EAAgB,EAAGlW,GAAK8V,IAAW9V,EAClDA,IAAM8V,GAAkC,KAAvB/S,EAAKxC,WAAWP,KAChB,IAAfiM,EAAIvL,OACNuL,GAAO,KAEPA,GAAO,OAMb,OAAIA,EAAIvL,OAAS,EACRuL,EAAM2J,EAAGtS,MAAM0S,EAAUE,IAEhCF,GAAWE,EACoB,KAA3BN,EAAGrV,WAAWyV,MACdA,EACGJ,EAAGtS,MAAM0S,KAIpBI,UAAW,SAAmB3B,GAC5B,OAAOA,GAGT4B,QAAS,SAAiB5B,GAExB,GADAD,EAAWC,GACS,IAAhBA,EAAK/T,OAAc,MAAO,IAK9B,IAJA,IAAIW,EAAOoT,EAAKlU,WAAW,GACvB+V,EAAmB,KAATjV,EACVI,GAAO,EACP8U,GAAe,EACVvW,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAEtC,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAEnB,IAAKuW,EAAc,CACjB9U,EAAMzB,EACN,YAIJuW,GAAe,EAInB,OAAa,IAAT9U,EAAmB6U,EAAU,IAAM,IACnCA,GAAmB,IAAR7U,EAAkB,KAC1BgT,EAAKnR,MAAM,EAAG7B,IAGvB+U,SAAU,SAAkB/B,EAAMpI,GAChC,QAAY7H,IAAR6H,GAAoC,iBAARA,EAAkB,MAAM,IAAIxJ,UAAU,mCACtE2R,EAAWC,GAEX,IAGIzU,EAHAwB,EAAQ,EACRC,GAAO,EACP8U,GAAe,EAGnB,QAAY/R,IAAR6H,GAAqBA,EAAI3L,OAAS,GAAK2L,EAAI3L,QAAU+T,EAAK/T,OAAQ,CACpE,GAAI2L,EAAI3L,SAAW+T,EAAK/T,QAAU2L,IAAQoI,EAAM,MAAO,GACvD,IAAIgC,EAASpK,EAAI3L,OAAS,EACtBgW,GAAoB,EACxB,IAAK1W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACrC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GAGA,IAAKkV,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAGsB,IAAtB0W,IAGFH,GAAe,EACfG,EAAmB1W,EAAI,GAErByW,GAAU,IAERpV,IAASgL,EAAI9L,WAAWkW,IACR,KAAZA,IAGJhV,EAAMzB,IAKRyW,GAAU,EACVhV,EAAMiV,IAOd,OADIlV,IAAUC,EAAKA,EAAMiV,GAAmC,IAATjV,IAAYA,EAAMgT,EAAK/T,QACnE+T,EAAKnR,MAAM9B,EAAOC,GAEzB,IAAKzB,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAClC,GAA2B,KAAvByU,EAAKlU,WAAWP,IAGhB,IAAKuW,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAEgB,IAATyB,IAGX8U,GAAe,EACf9U,EAAMzB,EAAI,GAId,OAAa,IAATyB,EAAmB,GAChBgT,EAAKnR,MAAM9B,EAAOC,IAI7BkV,QAAS,SAAiBlC,GACxBD,EAAWC,GAQX,IAPA,IAAImC,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EAGfO,EAAc,EACT9W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACzC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GASS,IAATI,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EACFA,EAAW5W,EACY,IAAhB8W,IACPA,EAAc,IACK,IAAdF,IAGTE,GAAe,QArBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,OAuBR,OAAkB,IAAd4W,IAA4B,IAATnV,GAEH,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,EACjE,GAEFpC,EAAKnR,MAAMsT,EAAUnV,IAG9BsV,OAAQ,SAAgBC,GACtB,GAAmB,OAAfA,GAA6C,iBAAfA,EAChC,MAAM,IAAInU,UAAU,0EAA4EmU,GAElG,OAvVJ,SAAiBC,EAAKD,GACpB,IAAI1Q,EAAM0Q,EAAW1Q,KAAO0Q,EAAWE,KACnCC,EAAOH,EAAWG,OAASH,EAAWjF,MAAQ,KAAOiF,EAAW3K,KAAO,IAC3E,OAAK/F,EAGDA,IAAQ0Q,EAAWE,KACd5Q,EAAM6Q,EAER7Q,EA8UU,IA9UE6Q,EALVA,EAmVAC,CAAQ,EAAKJ,IAGtBK,MAAO,SAAe5C,GACpBD,EAAWC,GAEX,IAAIzI,EAAM,CAAEkL,KAAM,GAAI5Q,IAAK,GAAI6Q,KAAM,GAAI9K,IAAK,GAAI0F,KAAM,IACxD,GAAoB,IAAhB0C,EAAK/T,OAAc,OAAOsL,EAC9B,IAEIxK,EAFAH,EAAOoT,EAAKlU,WAAW,GACvBiV,EAAsB,KAATnU,EAEbmU,GACFxJ,EAAIkL,KAAO,IACX1V,EAAQ,GAERA,EAAQ,EAaV,IAXA,IAAIoV,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EACfvW,EAAIyU,EAAK/T,OAAS,EAIlBoW,EAAc,EAGX9W,GAAKwB,IAASxB,EAEnB,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAUV,IAATyB,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EAAiBA,EAAW5W,EAA2B,IAAhB8W,IAAmBA,EAAc,IACrD,IAAdF,IAGXE,GAAe,QAlBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,MAyCR,OArBkB,IAAd4W,IAA4B,IAATnV,GAEP,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,GACvD,IAATpV,IACiCuK,EAAImL,KAAOnL,EAAI+F,KAAhC,IAAd8E,GAAmBrB,EAAkCf,EAAKnR,MAAM,EAAG7B,GAAgCgT,EAAKnR,MAAMuT,EAAWpV,KAG7G,IAAdoV,GAAmBrB,GACrBxJ,EAAI+F,KAAO0C,EAAKnR,MAAM,EAAGsT,GACzB5K,EAAImL,KAAO1C,EAAKnR,MAAM,EAAG7B,KAEzBuK,EAAI+F,KAAO0C,EAAKnR,MAAMuT,EAAWD,GACjC5K,EAAImL,KAAO1C,EAAKnR,MAAMuT,EAAWpV,IAEnCuK,EAAIK,IAAMoI,EAAKnR,MAAMsT,EAAUnV,IAG7BoV,EAAY,EAAG7K,EAAI1F,IAAMmO,EAAKnR,MAAM,EAAGuT,EAAY,GAAYrB,IAAYxJ,EAAI1F,IAAM,KAElF0F,GAGTiL,IAAK,IACLK,UAAW,IACXC,MAAO,KACPrC,MAAO,MAGTA,EAAMA,MAAQA,EAEdsC,EAAOjY,QAAU2V,G,uBC9fjBuC,QAAQ/U,UAAUgV,aAAe,WAC7BhS,KAAKiS,OAAM,W,4BCbfH,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,MAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,4BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,KAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,KAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,KACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,KACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,MAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,KACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,2BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,yBChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,2BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,KA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,M,iCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,KAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,2BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,4BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,2BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,MAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,KACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,4BC72Df7I,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,KAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,KA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,2BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,KAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,KAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,KAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,KAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,KA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,MACzBC,EAAmB,EAAQ,KAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,4BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,KAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,yBCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,KA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,2EC5BrD,MAAMikC,EAAI,EAAQ,MACZC,EAAW,EAAAC,EAAO/2B,KAExB,MAAMA,UAAa82B,EACjBtrC,YAAa3O,GACX4O,MAAM5O,GACN0C,KAAKy3C,QAAS,EAEhBC,cACE,MAAO,GAAG13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBAIjF/lC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,EAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCnBX,MAAMR,EAAI,EAAQ,MAElB,MAAMS,UAAyBt3B,KAC7BxU,YAAa3O,GACX4O,MAAM5O,EAAQ,KACd0C,KAAKg4C,YAAa,EAEpBN,cAGE,MAAO,GAFS13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBACnEP,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAKtHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIC,EAAiBz6C,GAElC,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,qBCpBXhmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,KAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCNX,MAAMR,EAAI,EAAQ,MAElB,MAAMe,UAAa53B,KACjBxU,YAAa3O,GACX4O,MAAM,cAAc5O,MACpB0C,KAAKs4C,QAAS,EAEhBZ,cACE,MAAO,GAAGJ,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAIhHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIO,EAAK/6C,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,sBClBXhmC,EAAOjY,QAAU,CAAC0U,EAAGvS,KAEnB,IADAA,EAAMmF,OAAOnF,GACNA,EAAIhB,OAASuT,GAAGvS,EAAM,IAAMA,EACnC,OAAOA,I,sBCHT,MAAMu8C,EAAY,QAClB,MAAMC,UAAoB58C,MAExBqQ,YAAae,EAAKyrC,EAAUC,GAC1BxsC,MAAM,iBAAmBc,EAAKyrC,EAAUC,GACxC14C,KAAKqM,KAAO,cACZrM,KAAKrE,KAAO,cACRC,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMw4C,IAG/D,MAAMI,EACJ3sC,YAAa4sC,GACX74C,KAAK64C,OAASA,EACd74C,KAAKnD,IAAM,GACXmD,KAAK84C,SAAW,KAChB94C,KAAKggB,OAAS,KACdhgB,KAAK+4C,YAAc,KACnB/4C,KAAKg5C,UAAY,MAGrB,MAAMC,EACJhtC,cACEjM,KAAKkF,IAAM,EACXlF,KAAKk5C,IAAM,EACXl5C,KAAKk6B,KAAO,EACZl6B,KAAKrB,IAAM,GACXqB,KAAKm5C,IAAMn5C,KAAKrB,IAChBqB,KAAKsM,MAAQ,GACbtM,KAAKo5C,KAAO,GACZp5C,KAAKksC,KAAO,KACZlsC,KAAKq5C,GAAK,EACVr5C,KAAKse,MAAQ,IAAIs6B,EAAM54C,KAAKs5C,YAG9B3nC,MAAOvP,GAEL,GAAmB,IAAfA,EAAIpH,QAA8B,MAAdoH,EAAIpH,OAAgB,OAK5C,IAAIu+C,EACJ,IAJAv5C,KAAKo5C,KAAOj4C,OAAOiB,GACnBpC,KAAKq5C,IAAM,EACXr5C,KAAKksC,MAAQ,GAEM,IAAZqN,GAAqBv5C,KAAKw5C,YAC/BD,EAAUv5C,KAAKy5C,SAEjBz5C,KAAKo5C,KAAO,KAEdI,WASE,OARkB,KAAdx5C,KAAKksC,SACLlsC,KAAKk6B,KACPl6B,KAAKk5C,KAAO,KAEZl5C,KAAKq5C,GACPr5C,KAAKksC,KAAOlsC,KAAKo5C,KAAKM,YAAY15C,KAAKq5C,MACrCr5C,KAAKkF,MACLlF,KAAKk5C,IACAl5C,KAAK25C,aAEdA,aACE,OAAO35C,KAAKq5C,GAAKr5C,KAAKo5C,KAAKp+C,OAE7By+C,SACE,OAAOz5C,KAAKse,MAAMu6B,OAAO/3C,KAAKd,KAAMA,KAAKse,MAAMw6B,UAEjDc,SAEE,IAAIlxC,EADJ1I,KAAKksC,KAAOqM,EAEZ,GACE7vC,EAAO1I,KAAKse,MAAMu6B,OAClB74C,KAAKy5C,eACEz5C,KAAKse,MAAMu6B,SAAWnwC,GAM/B,OAJA1I,KAAKm5C,IAAM,KACXn5C,KAAKse,MAAQ,KACbte,KAAKo5C,KAAO,KAELp5C,KAAKrB,IAEdspB,KAAMna,GAEJ,GAAkB,mBAAPA,EAAmB,MAAM,IAAI0qC,EAAY,6CAA+CxpC,KAAKC,UAAUnB,IAClH9N,KAAKse,MAAMu6B,OAAS/qC,EAEtB+rC,KAAM/rC,GAEJ,OADA9N,KAAKioB,KAAKna,GACH9N,KAAKy5C,SAEd34C,KAAMgN,EAAIgsC,GACJA,GAAY95C,KAAKioB,KAAK6xB,GAC1B95C,KAAKsM,MAAMjR,KAAK2E,KAAKse,OACrBte,KAAKse,MAAQ,IAAIs6B,EAAM9qC,GAEzBisC,QAASjsC,EAAIgsC,GAEX,OADA95C,KAAKc,KAAKgN,EAAIgsC,GACP95C,KAAKy5C,SAEdO,OAAQ18C,GAEN,GAA0B,IAAtB0C,KAAKsM,MAAMtR,OAAc,MAAMgF,KAAKoE,MAAM,IAAIo0C,EAAY,yBAChD15C,IAAVxB,IAAqBA,EAAQ0C,KAAKse,MAAMzhB,KAC5CmD,KAAKse,MAAQte,KAAKsM,MAAM2tC,MACxBj6C,KAAKse,MAAMw6B,SAAWx7C,EAExB48C,UAAW58C,GAET,OADA0C,KAAKg6C,OAAO18C,GACL0C,KAAKy5C,SAEdU,UAEE,GAAIn6C,KAAKksC,OAASqM,EAAW,MAAMv4C,KAAKoE,MAAM,IAAIo0C,EAAY,6BAC9Dx4C,KAAKse,MAAMzhB,KAAOmD,KAAKo5C,KAAKp5C,KAAKq5C,IAEnCj1C,MAAO0pB,GAIL,OAHAA,EAAIoM,KAAOl6B,KAAKk6B,KAChBpM,EAAIorB,IAAMl5C,KAAKk5C,IACfprB,EAAI5oB,IAAMlF,KAAKkF,IACR4oB,EAGTwrB,aACE,MAAM,IAAId,EAAY,qCAG1BS,EAAOmB,IAAM7B,EACbU,EAAOr9C,MAAQ48C,EACf1mC,EAAOjY,QAAUo/C,G,0EC5HjBnnC,OAAOjY,QAAUwgD,gBAAgB,oBAAQ,OACzCvoC,OAAOjY,QAAQwgD,gBAAkBA,gBAEjC,MAAMC,kBAAkB1+C,MACtBqQ,YAAae,GACXd,MAAMc,GACNhN,KAAKqM,KAAO,YAERzQ,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMs6C,WAC3Dt6C,KAAKu6C,UAAW,EAChBv6C,KAAKw6C,QAAU,MAGnBF,UAAUG,KAAO3sB,IACf,MAAM4sB,EAAO,IAAIJ,UAAUxsB,EAAIvhB,SAG/B,OAFAmuC,EAAK/+C,KAAOmyB,EAAInyB,KAChB++C,EAAKF,QAAU1sB,EACR4sB,GAET5oC,OAAOjY,QAAQygD,UAAYA,UAE3B,MAAMK,eAAiB,oBAAQ,KACzBC,oBAAsB,oBAAQ,MAC9BC,WAAa,oBAAQ,MACrBC,WAAa,oBAAQ,MAErBC,OAAS,EACTC,OAAS,GACTC,OAAS,GACTC,mBAAqB,GACrBC,QAAU,GACVC,UAAY,GACZC,SAAW,GACXC,UAAY,GACZC,UAAY,GACZC,WAAa,GACbC,YAAc,GACdC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,WAAa,GACbC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,UAAY,IACZC,UAAY,IACZC,UAAY,GACZC,UAAY,GACZC,UAAY,GACZC,SAAW,IACXC,gBAAkB,MAClBC,eAAiB,MAEjBC,QAAU,CACd,CAACrB,QAAS,KACV,CAACS,QAAS,KACV,CAACJ,QAAS,KACV,CAACH,QAAS,KACV,CAACK,QAAS,KACV,CAAC5B,WAAY,IACb,CAACqC,WAAY,MAGf,SAASM,QAASC,GAChB,OAAOA,GAAMrC,QAAUqC,GAAMlC,OAE/B,SAASmC,QAASD,GAChB,OAAQA,GAAM/B,QAAU+B,GAAM7B,QAAY6B,GAAMxB,QAAUwB,GAAMrB,QAAYqB,GAAMrC,QAAUqC,GAAMlC,OAEpG,SAASoC,MAAOF,GACd,OAAOA,IAAOpC,QAAUoC,IAAOrC,OAEjC,SAASwC,QAASH,GAChB,OAAQA,GAAMrC,QAAUqC,GAAMnC,OAEhC,SAASuC,sBAAuBJ,GAC9B,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAO1C,WACP0C,IAAO5C,WACP4C,IAAOzB,aACPyB,IAAOvC,YAEhB,SAAS4C,iBAAkBL,GACzB,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAOzB,aACPyB,IAAOvC,YAEhB,MAAMt3B,MAAQ9nB,OAAO,QACfiiD,UAAYjiD,OAAO,YAEnBoW,eAAiB3V,OAAOE,UAAUyV,eAClCpO,eAAiBvH,OAAOuH,eACxBk6C,WAAa,CAACnyC,cAAc,EAAM9H,YAAY,EAAM6H,UAAU,EAAM7O,WAAOwB,GAEjF,SAAS0/C,OAAQ7/C,EAAKqjB,GACpB,QAAIvP,eAAe3R,KAAKnC,EAAKqjB,KACjB,cAARA,GAAqB3d,eAAe1F,EAAK,YAAa4/C,aACnD,GAGT,MAAME,aAAepiD,OAAO,gBAC5B,SAASqiD,cACP,OAAO5hD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOmhD,gBAGrB,SAASG,cAAejgD,GACtB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWs6B,aAGxB,MAAMI,MAAQxiD,OAAO,SACrB,SAASyiD,QACP,OAAOhiD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOuhD,OACjB,CAACP,WAAY,CAAChhD,OAAO,EAAO6O,UAAU,KAG1C,SAAS4yC,QAASpgD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW06B,MAGxB,MAAMG,aAAe3iD,OAAO,gBACtB4iD,YAAc5iD,OAAO,eAC3B,SAAS6iD,WAAYlgD,GACnB,OAAOlC,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO2hD,aACjB,CAACD,cAAe,CAAC1hD,MAAO0B,KAG5B,SAASmgD,aAAcxgD,GACrB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW86B,YAGxB,MAAMG,KAAO/iD,OAAO,QACpB,SAASgjD,OACP,OAAOviD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO8hD,QAGrB,SAASE,OAAQ3gD,GACf,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWi7B,KAIxB,IAAIG,QACJ,IACE,MAAMC,YAAcC,KAAK,2BACzBF,QAAUC,YAAYE,OACtB,MAAOjjC,IAIT,MAAMkjC,SAAWJ,SAAW,UAE5B,MAAMK,YACJ3zC,YAAa3O,GACX,IACE0C,KAAK1C,MAAQ,oBAAAk6C,EAAOzwC,OAAO84C,OAAO,GAAIviD,GACtC,MAAOmf,GAEPzc,KAAK1C,MAAQ,KAEfR,OAAOuH,eAAerE,KAAMmkB,MAAO,CAAC7mB,MAAOwiD,UAE7CnxC,QACE,OAAsB,OAAf3O,KAAK1C,MAGdkC,WACE,OAAO2B,OAAOnB,KAAK1C,OAGrB,CAACqiD,YACC,MAAO,YAAY3/C,KAAKR,eAE1Bf,UACE,OAAOuB,KAAK1C,OAIhB,MAAMwiD,QAAUzjD,OAAO,WACvB,SAAS0jD,QAASziD,GAChB,IAAItB,EAAM2F,OAAOrE,GAIjB,OAFIR,OAAOyX,GAAGvY,GAAM,KAAIA,EAAM,GAE1B,oBAAAw7C,EAAOzwC,SAAWpF,OAAOq+C,cAAchkD,GAClC,IAAI4jD,YAAYtiD,GAGhBR,OAAO6hD,iBAAiB,IAAIh9C,OAAO3F,GAAM,CAC9C2S,MAAO,CAACrR,MAAO,WAAc,OAAOqR,MAAM3O,QAC1C,CAACmkB,OAAQ,CAAC7mB,MAAOwiD,SACjB,CAACH,UAAW,CAACriD,MAAO,IAAM,aAAaA,QAI7C,SAAS4P,UAAWvO,GAClB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW27B,QAGxB,MAAMG,MAAQ5jD,OAAO,SACrB,SAAS6jD,MAAO5iD,GAEd,OAAOR,OAAO6hD,iBAAiB,IAAIh9C,OAAOrE,GAAQ,CAChD,CAAC6mB,OAAQ,CAAC7mB,MAAO2iD,OACjB,CAACN,UAAW,CAACriD,MAAO,IAAM,WAAWA,QAGzC,SAAS6iD,QAASxhD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW87B,MAGxB,SAASG,SAAU9iD,GACjB,MAAM0B,SAAc1B,EACpB,GAAa,WAAT0B,EAAmB,CAErB,GAAc,OAAV1B,EAAgB,MAAO,OAC3B,GAAIA,aAAiBmjB,KAAM,MAAO,WAElC,GAAI0D,SAAS7mB,EACX,OAAQA,EAAM6mB,QACZ,KAAKs6B,aAAc,MAAO,eAC1B,KAAKQ,YAAa,MAAO,cAEzB,KAAKJ,MAAO,MAAO,QAEnB,KAAKO,KAAM,MAAO,OAClB,KAAKa,MAAO,MAAO,QACnB,KAAKH,QAAS,MAAO,WAI3B,OAAO9gD,EAGT,SAASq7C,gBAAiBpB,GAolCxB,OAnlCA,cAAyBA,EACvBhtC,cACEC,QACAlM,KAAKm5C,IAAMn5C,KAAKrB,IAAMmgD,QAIxBuB,cACE,OAAOrgD,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAASiP,SAAWn7C,KAAKsgD,cAEzFA,cACE,OAAOtgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OAG3E3B,aACE,GAAIt5C,KAAKksC,OAAS+M,EAAOmB,IACvB,OAAO,KACF,GAAIp6C,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKugD,kBACjB,GAAIvgD,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAChG,OAAO,KACF,GAAImD,sBAAsBp+C,KAAKksC,MACpC,OAAOlsC,KAAK+5C,QAAQ/5C,KAAKygD,sBAEzB,MAAMzgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAAsBt6C,KAAKksC,UAM9DwU,uBACE,GAAI1gD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OACjE,OAAO,KACF,GAAIj7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAK65C,KAAK75C,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OACnD,OAAOh7C,KAAKg6C,SAEZ,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,gFAKnCmG,uBACE,OAAOzgD,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAK4gD,uBAE7CA,sBAAuBC,GACrB,IAAIh7C,EAAS7F,KAAKm5C,IACd2H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAQjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAK0gD,sBAIxBC,cACE,OAAO3gD,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAE9CA,oBAAqBj/B,GAMnB,OALIhiB,KAAKse,MAAMy6B,YACb/4C,KAAKse,MAAMy6B,YAAY19C,KAAK2mB,GAE5BhiB,KAAKse,MAAMy6B,YAAc,CAAC/2B,GAErBhiB,KAAK65C,KAAK75C,KAAKkhD,0BAExBA,2BACE,OAAIlhD,KAAKksC,OAASwP,YACT17C,KAAKioB,KAAKjoB,KAAKmhD,2BACbnhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAK65C,KAAK75C,KAAKohD,uBADjB,EAITD,4BACE,GAAInhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAIhDG,mBACE,GAAIphD,KAAKksC,OAAS8P,YAChB,OAAOh8C,KAAKioB,KAAKjoB,KAAKqhD,qBAEtB,MAAMrhD,KAAKoE,MAAM,IAAIk2C,UAAU,oCAGnC+G,sBACE,OAAIrhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAKuhD,mBAG9CA,kBAAmBjkD,GACjB,OAAO0C,KAAKk6C,UAAU,CAACl4B,IAAKhiB,KAAKse,MAAMy6B,YAAaz7C,MAAOA,IAI7DkjD,eACE,GACE,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OAC5C,OAAOh7C,KAAKg6C,eAEPh6C,KAAKw5C,YAIhB+G,mBACE,GAAIvgD,KAAKksC,OAASsR,UAGhB,OAAOx9C,KAAK65C,KAAK75C,KAAKwhD,YAFtBxhD,KAAKioB,KAAKjoB,KAAKyhD,WAOnBD,aAEE,OADAxhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK0hD,gBAExBA,iBACE,OAAI1hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK2hD,gBAGhDA,eAAgBC,GACd,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAClC,GAAIc,OAAOx+C,KAAKm5C,IAAKyI,MAAc7C,QAAQ/+C,KAAKm5C,IAAIyI,KAAa5hD,KAAKm5C,IAAIyI,GAAStD,YACjF,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAKjC,OAHEt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW5hD,KAAKm5C,IAAIyI,IAAY9C,QACpD9+C,KAAKm5C,IAAImF,YAAa,EAEjBt+C,KAAKioB,KAAKjoB,KAAK0gD,sBACjB,GAAI1gD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,GAAI7C,QAAQ/+C,KAAKm5C,IAAIyI,IAC1B5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,OACf,KAAItC,OAAOt/C,KAAKm5C,IAAIyI,IAGzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,QAJxDgF,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAQjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK0hD,gBAEtB,MAAM1hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCmH,YAEE,OADAzhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK6hD,eAExBA,gBACE,OAAI7hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK8hD,eAGhDA,cAAeF,GACb,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAIlC,GAHKc,OAAOx+C,KAAKm5C,IAAKyI,KACpB5hD,KAAKm5C,IAAIyI,GAAWvC,QAElBF,aAAan/C,KAAKm5C,IAAIyI,IACxB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,IAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IAKzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCALK,CACpC,MAAMryB,EAAO62B,QACb9+C,KAAKm5C,IAAIyI,GAASvmD,KAAK4sB,GACvBjoB,KAAKm5C,IAAMlxB,EAIb,OAAOjoB,KAAKioB,KAAKjoB,KAAK+hD,cACjB,GAAI/hD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,IAAIzC,aAAan/C,KAAKm5C,IAAIyI,IAC/B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIsE,cAAc5+C,KAAKm5C,IAAIyI,IAChC,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IACzB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,OACnD,KAAI+jD,QAAQ/+C,KAAKm5C,IAAIyI,IAG1B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,SARpB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAYjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK6hD,eAEtB,MAAM7hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAGnCyH,aAAcH,GACZ,GAAI5hD,KAAKksC,OAASwR,UAChB,OAAO19C,KAAKioB,KAAKjoB,KAAK0gD,sBAEtB,MAAM1gD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCgH,aACE,GAAIthD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,sBAC1B,GAAIt6C,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAKgiD,mBACtB,GAAIhiD,KAAKksC,OAASoP,UAClB,OAAOt7C,KAAKioB,KAAKjoB,KAAKiiD,mBACjB,GAAIjiD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UACpD,OAAOv7C,KAAK65C,KAAK75C,KAAKkiD,iBACjB,GAAIliD,KAAKksC,OAAS0Q,OACvB,OAAO58C,KAAKioB,KAAKjoB,KAAKmiD,UACjB,GAAIniD,KAAKksC,OAAS4Q,OACvB,OAAO98C,KAAKioB,KAAKjoB,KAAKoiD,UACjB,GAAIrE,QAAQ/9C,KAAKksC,MACtB,OAAOlsC,KAAK65C,KAAK75C,KAAKqiD,uBACjB,GAAIriD,KAAKksC,OAASgR,QAAUl9C,KAAKksC,OAASyQ,OAC/C,OAAO38C,KAAK65C,KAAK75C,KAAKsiD,cACjB,GAAItiD,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKuiD,gBAAiBviD,KAAKwiD,aACvC,GAAIxiD,KAAKksC,OAASoR,UACvB,OAAOt9C,KAAKc,KAAKd,KAAKyiD,iBAAkBziD,KAAKwiD,aAE7C,MAAMxiD,KAAKoE,MAAM,IAAIk2C,UAAU,oGAGnCkI,YAAallD,GACX,OAAO0C,KAAKk6C,UAAU58C,GAGxB6kD,WACE,GAAIniD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKioB,KAAKjoB,KAAK0iD,WAEtB,MAAM1iD,KAAKoE,MAAM,IAAIk2C,UAAU,2DAGnCoI,YACE,GAAI1iD,KAAKksC,OAASyQ,OAChB,MAAuB,MAAnB38C,KAAKse,MAAMzhB,IACNmD,KAAKg6C,QAAO,KAEZh6C,KAAKg6C,OAAO3sC,KAGrB,MAAMrN,KAAKoE,MAAM,IAAIk2C,UAAU,2DAInC8H,WACE,GAAIpiD,KAAKksC,OAASsQ,OAChB,OAAOx8C,KAAKioB,KAAKjoB,KAAK2iD,WAEtB,MAAM3iD,KAAKoE,MAAM,IAAIk2C,UAAU,yCAGnCqI,YACE,GAAI3iD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKg6C,OAAOvrC,KAEnB,MAAMzO,KAAKoE,MAAM,IAAIk2C,UAAU,yCAKnC0G,eACE,OAAIhhD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK4iD,kBACb5iD,KAAKksC,OAASoP,UAChBt7C,KAAKioB,KAAKjoB,KAAK6iD,oBAEf7iD,KAAK65C,KAAK75C,KAAK8iD,cAK1BA,eACE,EAAG,CACD,GAAI9iD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,4BAC1B,IAAI+D,iBAAiBr+C,KAAKksC,MAE1B,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,oCAE/B,OAAOt6C,KAAKk6C,YAJZl6C,KAAKm6C,gBAMAn6C,KAAKw5C,YAIhByI,oBACE,OAAIjiD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAK+iD,8BAEf/iD,KAAK65C,KAAK75C,KAAK6iD,oBAG1BA,qBACE,EAAG,CACD,GAAI7iD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBuJ,+BACE,OAAI/iD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKijD,yBAEfjjD,KAAKk6C,YAGhB+I,0BACE,OAAIjjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAKkjD,gCAEfljD,KAAK65C,KAAK75C,KAAKkjD,gCAG1BA,iCACE,EAAG,CACD,GAAIljD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKioB,KAAKjoB,KAAKmjD,sBACjB,GAAInjD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB2J,uBACE,OAAInjD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKojD,wBAEtBpjD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAG1BE,wBACE,OAAIpjD,KAAKksC,OAASoP,UACTt7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAK1BlB,oBACE,OAAIhiD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKqjD,uBAEfrjD,KAAK65C,KAAK75C,KAAK4iD,kBAG1BA,mBACE,EAAG,CACD,GAAI5iD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAKsjD,YAAatjD,KAAKujD,yBACnC,GAAIvjD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB+J,wBAAyBC,GAEvB,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK4iD,kBAExBS,wBACE,OAAIrjD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKyjD,kBAEfzjD,KAAKk6C,YAGhBuJ,mBACE,OAAIzjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAK0jD,yBAEf1jD,KAAK65C,KAAK75C,KAAK0jD,yBAG1BA,0BACE,EAAG,CACD,GAAI1jD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAK2jD,iBAAkB3jD,KAAK4jD,8BACxC,GAAI5jD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAK6jD,eACjB,GAAI7jD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBwJ,2BACE,IAAIc,EAAc,QAMlB,OALI9jD,KAAKksC,KAAO,KACd4X,GAAe,KAEjBA,GAAe9jD,KAAKksC,KAAK1sC,SAAS,IAE3BQ,KAAKoE,MAAM,IAAIk2C,UAAU,8EAA8EwJ,cAEhHF,6BAA8BJ,GAE5B,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK0jD,yBAExBG,gBACE,OAAI7jD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK+jD,iBAEtB/jD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BK,iBACE,OAAI/jD,KAAKksC,OAASkP,UACTp7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BC,mBACE,OAAI3jD,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACjCh7C,KAAKioB,KAAKjoB,KAAKgkD,gBACbhkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAKioB,KAAKjoB,KAAKikD,mBAEfjkD,KAAK65C,KAAK75C,KAAKsjD,aAG1BW,oBACE,GAAIjkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OAC/C,OAAOh7C,KAAKioB,KAAKjoB,KAAKgkD,gBAEtB,MAAMhkD,KAAKoE,MAAM,IAAIk2C,UAAU,4BAGnC0J,iBAEE,OAAIhkD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAClF,KAEAj7C,KAAKk6C,YAGhBoJ,cACE,GAAItjD,KAAKksC,QAAQ4R,QACf,OAAO99C,KAAKg6C,OAAO8D,QAAQ99C,KAAKksC,OAC3B,GAAIlsC,KAAKksC,OAASiR,OACvB,OAAOn9C,KAAKc,KAAKd,KAAKkkD,kBAAmBlkD,KAAKmkD,oBACzC,GAAInkD,KAAKksC,OAASmQ,OACvB,OAAOr8C,KAAKc,KAAKd,KAAKokD,kBAAmBpkD,KAAKmkD,oBAE9C,MAAMnkD,KAAKoE,MAAM,IAAIk2C,UAAU,6BAA+Bt6C,KAAKksC,OAGvEiY,mBAAoBjY,GAClB,IACE,MAAMhpC,EAAYnB,SAASmqC,EAAM,IACjC,GAAIhpC,GAAa06C,iBAAmB16C,GAAa26C,eAC/C,MAAM79C,KAAKoE,MAAM,IAAIk2C,UAAU,oEAEjC,OAAOt6C,KAAKk6C,UAAU/4C,OAAOkjD,cAAcnhD,IAC3C,MAAO4qB,GACP,MAAM9tB,KAAKoE,MAAMk2C,UAAUG,KAAK3sB,KAGpCo2B,oBACE,IAAKjG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAGhDoK,oBACE,IAAKnG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAKhDkI,kBAEE,OADAliD,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKskD,0BAExBA,2BACE,OAAItkD,KAAKksC,OAAS0Q,OACT58C,KAAKioB,KAAKjoB,KAAKmiD,UACbniD,KAAKksC,OAAS4Q,OAChB98C,KAAKioB,KAAKjoB,KAAKoiD,UAEfpiD,KAAK+5C,QAAQ/5C,KAAKukD,aAAcvkD,KAAKwkD,yBAGhDA,0BACE,OAAIxkD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKykD,sCAEfzkD,KAAK65C,KAAK75C,KAAK0kD,oBAG1BD,sCACE,OAAIzkD,KAAKksC,OAASwP,aAChB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7C6nD,qBACE,IAAI3G,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAKukD,cACjB,GAAIvkD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAE/C,OADA18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,yBACjB,GAAI5kD,KAAKksC,OAASwP,YAEvB,OADA17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBACpC,CACL,MAAM3kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IAfxBhgB,KAAKm6C,UAmBToK,eACE,GAAIvkD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,aAAe17C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAClG,MAAM18C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEd2K,+BACE,GAAI7kD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,YAC7C,MAAM17C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEdyK,mBACE,OAAI3kD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBAChC5G,QAAQ/9C,KAAKksC,WACtBlsC,KAAKm6C,UACIn6C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAG3C+nD,0BACE,GAAI7G,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAK65C,KAAK75C,KAAK8kD,qBACjB,GAAI9kD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAIpD,MAAMv7C,KAAKoE,MAAM,IAAIk2C,UAAU,iDAH/Bt6C,KAAKm6C,UACLn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK8kD,qBAKtCA,sBACE,IAAI/G,QAAQ/9C,KAAKksC,MAEV,OAAIlsC,KAAKksC,OAASqQ,YAChBv8C,KAAKc,KAAKd,KAAKukD,cAEfvkD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAJvCmD,KAAKm6C,UASTkI,wBACE,OAAIriD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK+kD,4BAEf/kD,KAAK65C,KAAK75C,KAAKglD,2BAG1BA,4BAEE,OAAIhlD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK0kD,oBAChC3G,QAAQ/9C,KAAKksC,OACtBlsC,KAAKm6C,eACDn6C,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAGgF,KAAKioB,KAAKjoB,KAAK0kD,sBACrC1kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BACb5kD,KAAKksC,OAASwP,aACvB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASuP,YAChBz7C,KAAK65C,KAAK75C,KAAKilD,eACbjlD,KAAKksC,OAAS6P,WAChB/7C,KAAK65C,KAAK75C,KAAKklD,mBAEfllD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CsoD,oBACE,GAAInlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAAG,CAC7B,GAAI+iD,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAKm6C,UACP,GAAIn6C,KAAKksC,OAAS6P,WACvB,OAAO/7C,KAAK65C,KAAK75C,KAAKklD,mBAEtB,MAAMllD,KAAKoE,MAAM,IAAIk2C,UAAU,qDAGjC,GAAIt6C,KAAKksC,OAASuP,YAChB,OAAOz7C,KAAK65C,KAAK75C,KAAKilD,eAEtB,MAAMjlD,KAAKoE,MAAM,IAAIk2C,UAAU,wDAIrCyK,4BACE,OAAI/kD,KAAKksC,OAASuQ,QAChBz8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKolD,kBAChDplD,KAAKksC,OAAS6Q,QACvB/8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKqlD,kBAChDrlD,KAAKksC,OAASkR,QACvBp9C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKslD,kBAChDtlD,KAAKksC,OAASwP,YAChB17C,KAAK65C,KAAK75C,KAAK0kD,oBACb3G,QAAQ/9C,KAAKksC,MACflsC,KAAK65C,KAAK75C,KAAKmlD,mBAEfnlD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CyoD,kBACE,IAAIrH,QAAQj+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTkL,kBACE,IAAIlH,QAAQn+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTiL,kBACE,IAAIlH,MAAMl+C,KAAKksC,MAER,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAeT8K,gBAEE,GAAIjlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,gEAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKulD,gBAExBA,iBACE,GAAIvlD,KAAKksC,OAASuP,YAAa,CAC7B,GAAIz7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,8DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKwlD,cACjB,IAAIzH,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTqL,eACE,GAAIxlD,KAAKksC,OAASkQ,QAAUp8C,KAAKksC,OAASiP,QAAS,CACjD,GAAIn7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,4DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKylD,oBACjB,GAAIzlD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MACjE,IAAIkhD,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTsL,qBACE,OAAIzlD,KAAKqgD,cACArgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,SAErChgB,KAAK65C,KAAK75C,KAAK0lD,eAG1BA,gBACE,GAAI1lD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK2lD,cACjB,IAAI5H,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTwL,eACE,KAAI3lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK4lD,cAEtB,MAAM5lD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/Bt6C,KAAKm6C,UASTyL,eACE,IAAI7H,QAAQ/9C,KAAKksC,MAQf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OAGjB,OAFAgF,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK6lD,yBAO5BX,oBAEE,GAAIllD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK8lD,kBAEtB,MAAM9lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAGnCwL,mBACE,KAAI9lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK+lD,kBAEtB,MAAM/lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAN/Bt6C,KAAKm6C,UAST4L,mBACE,IAAIhI,QAAQ/9C,KAAKksC,MAMf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,oBAJ/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACjB,OAAOgF,KAAKioB,KAAKjoB,KAAKgmD,4BAM5BA,6BAEE,GADAhmD,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IAClCmD,KAAKksC,OAASwP,YAIhB,OAAO17C,KAAKg6C,OAAOc,WAAW96C,KAAKse,MAAM0B,SAHzChgB,KAAKse,MAAMzhB,IAAM,GACjBmD,KAAKioB,KAAKjoB,KAAKimD,uBAKnBA,wBACE,IAAIlI,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKqgD,cAAe,CAC7B,GAA8B,IAA1BrgD,KAAKse,MAAMzhB,IAAI7B,OAAc,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAChE,OAAOt6C,KAAKk6C,UAAUY,WAAW96C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MAEtE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAL/Bt6C,KAAKm6C,UAST0L,0BACE,GAAI7lD,KAAKksC,OAASwP,YAChB17C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKkmD,2BACV,IAAIlmD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBD,wBACE,GAAInI,QAAQ/9C,KAAKksC,MACflsC,KAAKm6C,cACA,IAA8B,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBA,oBACE,IAAIpI,QAAQ/9C,KAAKksC,MAKf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GAFAt6C,KAAKm6C,UAED,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKioB,KAAKjoB,KAAKomD,kBAK5DA,mBACE,GAAIpmD,KAAKksC,OAAS6P,WAIhB,MAAM/7C,KAAKoE,MAAM,IAAIk2C,UAAU,qDAH/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKqmD,kBAKnBA,mBACE,IAAItI,QAAQ/9C,KAAKksC,MAIf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GADAt6C,KAAKm6C,UACD,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAOvGylD,eAEE,OAAItiD,KAAKksC,OAASgR,QAChBl9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKsmD,cACbtmD,KAAKksC,OAASyQ,QACvB38C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKumD,oBAFjB,EAKTD,cACE,GAAItmD,KAAKksC,OAAS8Q,OAEhB,OADAh9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKwmD,aAEtB,MAAMxmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCkM,cACE,GAAIxmD,KAAKksC,OAASiR,OAEhB,OADAn9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKymD,aAEtB,MAAMzmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCmM,cACE,GAAIzmD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCiM,eACE,GAAIvmD,KAAKksC,OAASsQ,OAEhB,OADAx8C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK0mD,cAEtB,MAAM1mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCoM,eACE,GAAI1mD,KAAKksC,OAAS2Q,OAEhB,OADA78C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK2mD,cAEtB,MAAM3mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCqM,eACE,GAAI3mD,KAAKksC,OAAS+Q,OAEhB,OADAj9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4mD,cAEtB,MAAM5mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCsM,eACE,GAAI5mD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAKnCiI,kBACE,GAAIviD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASmP,SAChBr7C,KAAKc,KAAKd,KAAKwgD,cACbxgD,KAAKksC,OAASwR,UAChB19C,KAAKg6C,OAAOh6C,KAAKse,MAAM06B,WAAakG,cAEpCl/C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAK6mD,uBAG9CA,sBAAuBvpD,GACrB,GAAI0C,KAAKse,MAAM06B,UAAW,CACxB,MAAM8N,EAAW9mD,KAAKse,MAAM06B,UAAUgG,cAChC+H,EAAY3G,SAAS9iD,GAC3B,GAAIwpD,IAAaC,EACf,MAAM/mD,KAAKoE,MAAM,IAAIk2C,UAAU,oDAAoDwM,SAAgBC,WAGrG/mD,KAAKse,MAAM06B,UAAYkG,WAAWkB,SAAS9iD,IAQ7C,OANI6iD,QAAQ7iD,IAAU4P,UAAU5P,GAE9B0C,KAAKse,MAAM06B,UAAU39C,KAAKiC,EAAMmB,WAEhCuB,KAAKse,MAAM06B,UAAU39C,KAAKiC,GAErB0C,KAAK65C,KAAK75C,KAAKgnD,qBAExBA,sBACE,GAAIhnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKuiD,iBACjB,GAAIviD,KAAKksC,OAASwR,UACvB,OAAO19C,KAAK65C,KAAK75C,KAAKuiD,iBAEtB,MAAMviD,KAAKoE,MAAM,IAAIk2C,UAAU,2EAKnCmI,mBACE,GAAIziD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASqR,UAChBv9C,KAAKg6C,OAAOh6C,KAAKse,MAAMy6B,aAAe2F,gBAExC1+C,KAAKse,MAAMy6B,cAAa/4C,KAAKse,MAAMy6B,YAAc2F,eAC/C1+C,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAKinD,yBAG/CA,uBAAwBpG,GACtB,IAAIh7C,EAAS7F,KAAKse,MAAMy6B,YACpB+H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAOjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAKknD,sBAExBA,uBACE,GAAIlnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,GAAIt6C,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKyiD,kBACjB,GAAIziD,KAAKksC,OAASqR,UACvB,OAAOv9C,KAAK65C,KAAK75C,KAAKyiD,kBAEtB,MAAMziD,KAAKoE,MAAM,IAAIk2C,UAAU,+E,4BC51CvCxoC,EAAOjY,QAKP,SAAqBuI,EAAK+kD,GACnBA,IAAMA,EAAO,IAClB,MACMC,EAAYD,EAAKC,WAAa,MAC9BvO,EAAS,IAAIwO,EACnB,OAAO,IAAIt1C,SAAQ,CAACtC,EAASuE,KAC3BuD,aAAa+vC,EAJD,EAIwBF,EAAW33C,EAASuE,MAE1D,SAASszC,EAAgBn9B,EAAOi9B,EAAW33C,EAASuE,GAClD,GAAImW,GAAS/nB,EAAIpH,OACf,IACE,OAAOyU,EAAQopC,EAAOe,UACtB,MAAO9rB,GACP,OAAO9Z,EAAOuzC,EAAYz5B,EAAK1rB,IAGnC,IACEy2C,EAAOlnC,MAAMvP,EAAIxE,MAAMusB,EAAOA,EAAQi9B,IACtC7vC,aAAa+vC,EAAgBn9B,EAAQi9B,EAAWA,EAAW33C,EAASuE,GACpE,MAAO8Z,GACP9Z,EAAOuzC,EAAYz5B,EAAK1rB,OAvB9B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,sBCH5Bz1C,EAAOjY,QAEP,SAAsBi0B,EAAKjxB,GAEzB,GAAe,MAAXixB,EAAI5oB,KAA2B,MAAZ4oB,EAAIoM,KAAc,OAAOpM,EAChD,IAAI9gB,EAAM8gB,EAAIvhB,QAId,GAHAS,GAAO,WAAW8gB,EAAIoM,KAAO,UAAUpM,EAAIorB,IAAM,UAAUprB,EAAI5oB,SAG3DrI,GAAOA,EAAI0Q,MAAO,CACpB,MAAMi6C,EAAQ3qD,EAAI0Q,MAAM,MAClBk6C,EAAetmD,OAAO2B,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,IAAIl/B,OAClE,IAAI0sD,EAAc,IAClB,KAAOA,EAAY1sD,OAASysD,GAAcC,GAAe,IACzD,IAAK,IAAIrO,EAAKv2C,KAAK4C,IAAI,EAAGooB,EAAIoM,KAAO,GAAImf,EAAKv2C,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,KAAMmf,EAAI,CACxF,IAAIsO,EAAUxmD,OAAOk4C,EAAK,GAE1B,GADIsO,EAAQ3sD,OAASysD,IAAcE,EAAU,IAAMA,GAC/C75B,EAAIoM,OAASmf,EAAI,CACnBrsC,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,KACpCrsC,GAAO06C,EAAc,KACrB,IAAK,IAAIE,EAAK,EAAGA,EAAK95B,EAAIorB,MAAO0O,EAC/B56C,GAAO,IAETA,GAAO,WAEPA,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,MAK1C,OADAvrB,EAAIvhB,QAAUS,EAAM,KACb8gB,I,4BC9BThc,EAAOjY,QAKP,SAAsBguD,GACpB,OAAIA,EAON,SAAwBA,GACtB,MAAMhP,EAAS,IAAIwO,EAEnB,OADAQ,EAAIC,YAAY,QACT,IAAI/1C,SAAQ,CAACtC,EAASuE,KAC3B,IAAImX,EACA48B,GAAQ,EACRC,GAAU,EACd,SAASpO,IAEP,GADAmO,GAAQ,GACJ58B,EACJ,IACE1b,EAAQopC,EAAOe,UACf,MAAO9rB,GACP9Z,EAAO8Z,IAGX,SAAS1pB,EAAO0pB,GACdk6B,GAAU,EACVh0C,EAAO8Z,GAET+5B,EAAII,KAAK,MAAOrO,GAChBiO,EAAII,KAAK,QAAS7jD,GAGlB,SAAS8jD,IAEP,IAAIhpD,EACJ,IAFAisB,GAAW,EAEoB,QAAvBjsB,EAAO2oD,EAAIzmD,SACjB,IACEy3C,EAAOlnC,MAAMzS,GACb,MAAO4uB,GACP,OAAO1pB,EAAM0pB,GAKjB,GAFA3C,GAAW,EAEP48B,EAAO,OAAOnO,IAEdoO,GACJH,EAAII,KAAK,WAAYC,GAjBvBA,MA5BOC,CAAcN,GAkDzB,WACE,MAAMhP,EAAS,IAAIwO,EACnB,OAAO,IAAIvwC,EAAOsxC,UAAU,CAC1BC,YAAY,EACZC,UAAW5+B,EAAOlsB,EAAU+qD,GAC1B,IACE1P,EAAOlnC,MAAM+X,EAAMlqB,SAAShC,IAC5B,MAAOswB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,KAEFE,MAAOF,GACL,IACEvoD,KAAK3E,KAAKw9C,EAAOe,UACjB,MAAO9rB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,OAlEKG,IAPX,MAAM5xC,EAAS,EAAQ,MACjBuwC,EAAa,EAAQ,O,4BCH3Bv1C,EAAOjY,QAKP,SAAsBuI,GAChB,EAAAo1C,EAAOl7C,QAAU,EAAAk7C,EAAOl7C,OAAOsC,SAASwD,KAC1CA,EAAMA,EAAI5C,SAAS,SAErB,MAAMq5C,EAAS,IAAIwO,EACnB,IAEE,OADAxO,EAAOlnC,MAAMvP,GACNy2C,EAAOe,SACd,MAAO9rB,GACP,MAAMy5B,EAAYz5B,EAAK1rB,KAZ3B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,4BCH5Bz1C,EAAOjY,QAAU,EAAjB,MACAiY,EAAOjY,QAAQ0yB,MAAQ,EAAvB,MACAza,EAAOjY,QAAQid,OAAS,EAAxB,MACAhF,EAAOjY,QAAQ0tD,YAAc,EAA7B,O,sBCYA,SAASoB,EAAW3pD,GAClB,OAAO,IAAIpD,MAAM,mCAAqCoD,GAOxD,SAAS4pD,EAAejqD,GACtB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,GAAO8mC,EAASnqD,EAAIqjB,MAMrD,SAAS5b,EAAQzH,GACf,IAAIoqD,EAAOrtD,MAAMuD,QAAQN,GAAO,GAAK7B,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAK,aAAe,CAAC,CAAC,kBAAcG,GAAa,GAC3H,IAAK,IAAIkqD,KAAQlsD,OAAOuoB,KAAK1mB,GACvBA,EAAIqqD,IAAqC,mBAArBrqD,EAAIqqD,GAAM5iD,UAA2B,gBAAiBzH,EAAIqqD,IAChFD,EAAKC,GAAQrqD,EAAIqqD,GAAM5iD,SAEvB2iD,EAAKC,GAAQrqD,EAAIqqD,GAGrB,OAAOD,EAGT,SAASE,EAAiBC,EAAQC,EAAQxqD,GAExC,IAAIyqD,EACAC,EACJD,EAAaR,EAHbjqD,EAAMyH,EAAOzH,IAIb0qD,EArBF,SAAyB1qD,GACvB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,IAAQ8mC,EAASnqD,EAAIqjB,MAoBtCsnC,CAAe3qD,GAC7B,IAAIqhB,EAAS,GACTupC,EAAeJ,GAAU,GAC7BC,EAAW9jC,SAAQtD,IACjB,IAAIhjB,EAAOohD,EAASzhD,EAAIqjB,IACX,cAAThjB,GAAiC,SAATA,GAC1BghB,EAAO3kB,KAAKkuD,EAAeC,EAAaxnC,GAAO,MAAQynC,EAAmB9qD,EAAIqjB,IAAM,OAGpFhC,EAAOhlB,OAAS,GAAGglB,EAAO3kB,KAAK,IACnC,IAAIquD,EAAgBR,GAAUE,EAAWpuD,OAAS,EAAImuD,EAAS,KAAO,GAItE,OAHAE,EAAY/jC,SAAQtD,IAClBhC,EAAO3kB,KAwMX,SAA2B6tD,EAAQC,EAAQnnC,EAAK1kB,GAC9C,IAAIypD,EAAY3G,EAAS9iD,GAEzB,GAAkB,UAAdypD,EACF,OAQJ,SAAiCmC,EAAQC,EAAQnnC,EAAK2G,GAEpDghC,EADAhhC,EAASviB,EAAOuiB,IAEhB,IAAIihC,EAAiBxJ,EAASz3B,EAAO,IAErC,GAAuB,UAAnBihC,EAA4B,MAAMjB,EAAUiB,GAChD,IAAIC,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAMb,OALA2I,EAAOrD,SAAQ1X,IACToS,EAAOhlB,OAAS,IAAGglB,GAAU,MACjCA,GAAUmpC,EAAS,KAAOU,EAAU,OACpC7pC,GAAUipC,EAAgBY,EAAU,IAAKV,EAAQv7C,MAE5CoS,EArBE8pC,CAAuBZ,EAAQC,EAAQnnC,EAAK1kB,GAC9C,GAAkB,UAAdypD,EACT,OAsBJ,SAAgCmC,EAAQC,EAAQnnC,EAAK1kB,GACnD,IAAIusD,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAIb,OAHI4oC,EAActrD,GAAOtC,OAAS,IAChCglB,GAAUmpC,EAAS,IAAMU,EAAU,OAE9B7pC,EAASipC,EAAgBY,EAAU,IAAKV,EAAQ7rD,GA5B9CysD,CAAsBb,EAAQC,EAAQnnC,EAAK1kB,GAElD,MAAMqrD,EAAU5B,GAhNJiD,CAAiBd,EAAQQ,EAAe1nC,EAAKrjB,EAAIqjB,QAExDhC,EAAOxkB,KAAK,MAGrB,SAASstD,EAAUxrD,GACjB,OAAQ8iD,EAAS9iD,IACf,IAAK,YACL,IAAK,OACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,OAAO,EACT,IAAK,QACH,OAAwB,IAAjBA,EAAMtC,QAAuC,UAAvBolD,EAAS9iD,EAAM,IAC9C,IAAK,QACH,OAAqC,IAA9BR,OAAOuoB,KAAK/nB,GAAOtC,OAE5B,QACE,OAAO,GAIb,SAASolD,EAAU9iD,GACjB,YAAcwB,IAAVxB,EACK,YACY,OAAVA,EACF,OAEmB,iBAAVA,GAAuBqE,OAAOuL,UAAU5P,KAAWR,OAAOyX,GAAGjX,GAAQ,GAC9E,UACmB,iBAAVA,EACT,QACmB,kBAAVA,EACT,UACmB,iBAAVA,EACT,SACE,gBAAiBA,EACnBqR,MAAMrR,GAAS,YAAc,WAC3B5B,MAAMuD,QAAQ3B,GAChB,QAEA,QAIX,SAASksD,EAAcxnC,GACrB,IAAIioC,EAAS9oD,OAAO6gB,GACpB,MAAI,mBAAmBg1B,KAAKiT,GACnBA,EAEAC,EAAqBD,GAIhC,SAASC,EAAsB9nD,GAC7B,MAAO,IAAM+nD,EAAa/nD,GAAKuD,QAAQ,KAAM,OAAS,IAYxD,SAASwkD,EAAc/nD,GACrB,OAAOA,EAAIuD,QAAQ,MAAO,QACvBA,QAAQ,QAAS,OACjBA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OAEfA,QAAQ,2BAA2BjD,GAAK,MAb7C,SAAiB1G,EAAKoG,GACpB,KAAOA,EAAIpH,OAY+C,GAZjCoH,EAAM,IAAMA,EACrC,OAAOA,EAW4CgoD,CAAO,EAAG1nD,EAAEg3C,YAAY,GAAGl6C,SAAS,OAYzF,SAASiqD,EAAoBnsD,EAAO+sD,GAClC,IAAIrrD,EAAOohD,EAAS9iD,GAQpB,MAPa,WAAT0B,IACEqrD,GAAe,KAAKrT,KAAK15C,GAC3B0B,EAAO,oBACG,gBAAgBg4C,KAAK15C,IAAU,IAAI05C,KAAK15C,KAClD0B,EAAO,mBAGJsrD,EAAgBhtD,EAAO0B,GAGhC,SAASsrD,EAAiBhtD,EAAO0B,GAG/B,OADKA,IAAMA,EAAOohD,EAAS9iD,IACnB0B,GACN,IAAK,mBACH,OAzBN,SAAmCoD,GACjC,IAAImoD,EAAUnoD,EAAImL,MAAM,MAAMuW,KAAI1hB,GACzB+nD,EAAa/nD,GAAKuD,QAAQ,WAAY,SAC5CnK,KAAK,MAER,MAD0B,MAAtB+uD,EAAQ3sD,OAAO,KAAY2sD,GAAW,QACnC,QAAUA,EAAU,MAoBhBC,CAAyBltD,GAClC,IAAK,SACH,OAAO4sD,EAAqB5sD,GAC9B,IAAK,iBACH,MAjDG,IAiD2BA,EAjDf,IAkDjB,IAAK,UACH,OAAOmtD,EAAiBntD,GAC1B,IAAK,QACH,OAoBN,SAAyBA,GACvB,GAAIA,IAAU+P,IACZ,MAAO,MACF,GAAI/P,KAAU,IACnB,MAAO,OACF,GAAIR,OAAOyX,GAAGjX,EAAOmR,KAC1B,MAAO,MACF,GAAI3R,OAAOyX,GAAGjX,GAAQ,GAC3B,MAAO,OAET,IAAIotD,EAASvpD,OAAO7D,GAAOiQ,MAAM,KAC7Bo9C,EAAMD,EAAO,GACbE,EAAMF,EAAO,IAAM,EACvB,OAAOD,EAAiBE,GAAO,IAAMC,EAjC1BC,CAAevtD,GACxB,IAAK,UACH,OAkCN,SAA2BA,GACzB,OAAO6D,OAAO7D,GAnCHwtD,CAAiBxtD,GAC1B,IAAK,WACH,OAoCN,SAA4BA,GAC1B,OAAOA,EAAMo6C,cArCFqT,CAAkBztD,GAC3B,IAAK,QACH,OAwDN,SAA+BqrB,GAE7B,MAAM3pB,EAAO2qD,EADbhhC,EAASviB,EAAOuiB,IAEhB,IAAI3I,EAAS,IACTgrC,EAAcriC,EAAO7E,KAAIrH,GAAK6tC,EAAgB7tC,EAAGzd,KAMrD,OALIgsD,EAAYxvD,KAAK,MAAMR,OAAS,IAAM,KAAKg8C,KAAKgU,GAClDhrC,GAAU,OAASgrC,EAAYxvD,KAAK,SAAW,KAE/CwkB,GAAU,IAAMgrC,EAAYxvD,KAAK,OAASwvD,EAAYhwD,OAAS,EAAI,IAAM,IAEpEglB,EAAS,IAlELirC,CAAqB3tD,EAAMurD,QAAOpsC,GAAqB,SAAhB2jC,EAAS3jC,IAAiC,cAAhB2jC,EAAS3jC,IAAsC,QAAhB2jC,EAAS3jC,MAClH,IAAK,QACH,OAmEN,SAA+Bnf,GAC7BA,EAAQ8I,EAAO9I,GACf,IAAI0iB,EAAS,GAIb,OAHAljB,OAAOuoB,KAAK/nB,GAAOgoB,SAAQtD,IACzBhC,EAAO3kB,KAAKmuD,EAAaxnC,GAAO,MAAQynC,EAAmBnsD,EAAM0kB,IAAM,OAElE,KAAOhC,EAAOxkB,KAAK,OAASwkB,EAAOhlB,OAAS,EAAI,IAAM,IAAM,IAzExDkwD,CAAqB5tD,GAE9B,QACE,MAAMqrD,EAAU3pD,IAItB,SAASyrD,EAAkBntD,GAEzB,OAAO6D,OAAO7D,GAAOqI,QAAQ,wBAAyB,KAqCxD,SAASgkD,EAAehhC,GACtB,MAAM3pB,EARR,SAAoB2pB,GAClB,IAAIwiC,EAAc/K,EAASz3B,EAAO,IAClC,OAAIA,EAAO5B,OAAMtK,GAAK2jC,EAAS3jC,KAAO0uC,IAAqBA,EAEvDxiC,EAAO5B,OAAMtK,IAAK2uC,MANN,WADCpsD,EAOcohD,EAAS3jC,KANJ,YAATzd,EAD7B,IAAmBA,KAOoC,QAC9C,QAGMqsD,CAAU1iC,GACvB,GAAa,UAAT3pB,EACF,MApNK,IAAIpD,MAAM,uCAsNjB,OAAOoD,EA1OT8S,EAAOjY,QAGP,SAAoB8E,GAClB,GAAY,OAARA,EAAc,MAAMgqD,EAAU,QAClC,QAAY,IAARhqD,EAAkB,MAAMgqD,EAAU,aACtC,GAAmB,iBAARhqD,EAAkB,MAAMgqD,SAAiBhqD,GAGpD,GAD0B,mBAAfA,EAAIyH,SAAuBzH,EAAMA,EAAIyH,UACrC,MAAPzH,EAAa,OAAO,KACxB,MAAMK,EAAOohD,EAASzhD,GACtB,GAAa,UAATK,EAAkB,MAAM2pD,EAAU3pD,GACtC,OAAOiqD,EAAgB,GAAI,GAAItqD,IAXjCmT,EAAOjY,QAAQyD,MAAQgtD,G,4BCDvBzwD,EAAQ8X,MAAQ,EAAhB,MACA,S,sBCDA,MAAMpS,EAAQ,GACR+rD,EAAgB,GAEhBC,EAAQ,CAAChmB,EAAMC,KACpB,GAAID,IAASC,EACZ,OAAO,EAGR,MAAMjlC,EAAOglC,EAITA,EAAKvqC,OAASwqC,EAAMxqC,SACvBuqC,EAAOC,EACPA,EAAQjlC,GAGT,IAAIirD,EAAajmB,EAAKvqC,OAClBywD,EAAcjmB,EAAMxqC,OAMxB,KAAOwwD,EAAa,GAAMjmB,EAAK1qC,aAAa2wD,KAAgBhmB,EAAM3qC,aAAa4wD,IAC9ED,IACAC,IAMD,IAaIC,EACA1rC,EACA2rC,EACAC,EAhBA9vD,EAAQ,EAEZ,KAAOA,EAAQ0vD,GAAejmB,EAAK1qC,WAAWiB,KAAW0pC,EAAM3qC,WAAWiB,IACzEA,IAMD,GAHA0vD,GAAc1vD,EACd2vD,GAAe3vD,EAEI,IAAf0vD,EACH,OAAOC,EAOR,IAAInxD,EAAI,EACJkH,EAAI,EAER,KAAOlH,EAAIkxD,GACVF,EAAchxD,GAAKirC,EAAK1qC,WAAWiB,EAAQxB,GAC3CiF,EAAMjF,KAAOA,EAGd,KAAOkH,EAAIiqD,GAKV,IAJAC,EAAYlmB,EAAM3qC,WAAWiB,EAAQ0F,GACrCmqD,EAAOnqD,IACPwe,EAASxe,EAEJlH,EAAI,EAAGA,EAAIkxD,EAAYlxD,IAC3BsxD,EAAQF,IAAcJ,EAAchxD,GAAKqxD,EAAOA,EAAO,EACvDA,EAAOpsD,EAAMjF,GAEb0lB,EAASzgB,EAAMjF,GAAKqxD,EAAO3rC,EAAS4rC,EAAQ5rC,EAASA,EAAS,EAAI4rC,EAAQA,EAAQD,EAAOA,EAAO,EAAIC,EAItG,OAAO5rC,GAGRlO,EAAOjY,QAAU0xD,EAEjBz5C,EAAOjY,QAAQgZ,QAAU04C,G,4BCtEzBz5C,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,KAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,2BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,MAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,MAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,MACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,OAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,MACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,4BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,0BChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,4BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,MA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,MAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,4BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,2BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,KAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,MACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,kCC92Df,IAAIzI,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,MAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,MA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,4BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,MAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,MAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,MAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,MAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,MA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,KACzBC,EAAmB,EAAQ,MAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,2BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,MAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,0BCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,MA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,qlgDC5BjDw4C,yBAA2B,GCA3BC,eADAC,SDIJ,SAASC,oBAAoBC,GAE5B,IAAIC,EAAeL,yBAAyBI,GAC5C,QAAqBntD,IAAjBotD,EACH,OAAOA,EAAaryD,QAGrB,IAAIiY,EAAS+5C,yBAAyBI,GAAY,CAGjDpyD,QAAS,IAOV,OAHAsyD,oBAAoBF,GAAUnrD,KAAKgR,EAAOjY,QAASiY,EAAQA,EAAOjY,QAASmyD,qBAGpEl6C,EAAOjY,QAIfmyD,oBAAoBvrD,EAAI0rD,oBExBxBH,oBAAoBxrD,EAAKsR,IACxB,IAAIs6C,EAASt6C,GAAUA,EAAOu6C,WAC7B,IAAOv6C,EAAiB,QACxB,IAAM,EAEP,OADAk6C,oBAAoBz9C,EAAE69C,EAAQ,CAAEvnD,EAAGunD,IAC5BA,GDNJL,SAAWjvD,OAAOwvD,eAAkB3tD,GAAS7B,OAAOwvD,eAAe3tD,GAASA,GAASA,EAAa,UAQtGqtD,oBAAoBO,EAAI,SAASjvD,EAAOkvD,GAEvC,GADU,EAAPA,IAAUlvD,EAAQ0C,KAAK1C,IAChB,EAAPkvD,EAAU,OAAOlvD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPkvD,GAAalvD,EAAM+uD,WAAY,OAAO/uD,EAC1C,GAAW,GAAPkvD,GAAoC,mBAAflvD,EAAMqY,KAAqB,OAAOrY,EAE5D,IAAImvD,EAAK3vD,OAAOqV,OAAO,MACvB65C,oBAAoBtnC,EAAE+nC,GACtB,IAAIC,EAAM,GACVZ,eAAiBA,gBAAkB,CAAC,KAAMC,SAAS,IAAKA,SAAS,IAAKA,SAASA,WAC/E,IAAI,IAAIvjC,EAAiB,EAAPgkC,GAAYlvD,EAAyB,iBAAXkrB,KAAyBsjC,eAAejwD,QAAQ2sB,GAAUA,EAAUujC,SAASvjC,GACxH1rB,OAAO6vD,oBAAoBnkC,GAASlD,SAAStD,GAAS0qC,EAAI1qC,GAAO,IAAO1kB,EAAM0kB,KAI/E,OAFA0qC,EAAa,QAAI,IAAM,EACvBV,oBAAoBz9C,EAAEk+C,EAAIC,GACnBD,GEvBRT,oBAAoBz9C,EAAI,CAAC1U,EAAS+yD,KACjC,IAAI,IAAI5qC,KAAO4qC,EACXZ,oBAAoB55C,EAAEw6C,EAAY5qC,KAASgqC,oBAAoB55C,EAAEvY,EAASmoB,IAC5EllB,OAAOuH,eAAexK,EAASmoB,EAAK,CAAE1d,YAAY,EAAMC,IAAKqoD,EAAW5qC,MCJ3EgqC,oBAAoB1U,EAAI,GAGxB0U,oBAAoB/nD,EAAK4oD,GACjB96C,QAAQ8tB,IAAI/iC,OAAOuoB,KAAK2mC,oBAAoB1U,GAAGwV,QAAO,CAACC,EAAU/qC,KACvEgqC,oBAAoB1U,EAAEt1B,GAAK6qC,EAASE,GAC7BA,IACL,KCNJf,oBAAoBgB,EAAKH,GAEjB,kBAAoB,CAAC,GAAK,KAAK,IAAM,KAAK,IAAM,KAAK,IAAM,QAAQ,IAAM,KAAK,IAAM,QAAQ,IAAM,KAAK,IAAM,MAAM,IAAM,KAAK,IAAM,QAAQ,IAAM,KAAK,IAAM,MAAMA,GAAW,IAAMA,EAAU,IAAM,CAAC,GAAK,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,wBAAwBA,GAAW,aCHpjBb,oBAAoBxU,EAAI,WACvB,GAA0B,iBAAfyV,WAAyB,OAAOA,WAC3C,IACC,OAAOjtD,MAAQ,IAAIwhC,SAAS,cAAb,GACd,MAAOv9B,GACR,GAAsB,iBAAXknC,OAAqB,OAAOA,QALjB,GCAxB6gB,oBAAoB55C,EAAI,CAACzT,EAAKqqD,IAAUlsD,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAKqqD,GCClFgD,oBAAoBtnC,EAAK7qB,IACH,oBAAXwC,QAA0BA,OAAOkrB,aAC1CzqB,OAAOuH,eAAexK,EAASwC,OAAOkrB,YAAa,CAAEjqB,MAAO,WAE7DR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,K,MCLvD,IAAI4vD,EACAlB,oBAAoBxU,EAAE2V,gBAAeD,EAAYlB,oBAAoBxU,EAAE7b,SAAW,IACtF,IAAIuK,EAAW8lB,oBAAoBxU,EAAEtR,SACrC,IAAKgnB,GAAahnB,IACbA,EAASknB,gBACZF,EAAYhnB,EAASknB,cAAc3/C,MAC/By/C,GAAW,CACf,IAAIG,EAAUnnB,EAASonB,qBAAqB,UACzCD,EAAQryD,SAAQkyD,EAAYG,EAAQA,EAAQryD,OAAS,GAAGyS,KAK7D,IAAKy/C,EAAW,MAAM,IAAItxD,MAAM,yDAChCsxD,EAAYA,EAAUvnD,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpFqmD,oBAAoBx5C,EAAI06C,G,SCXxB,IAAIK,EAAkB,CACrB,IAAK,GAgBNvB,oBAAoB1U,EAAEh9C,EAAI,CAACuyD,EAASE,KAE/BQ,EAAgBV,IAElBM,cAAcnB,oBAAoBx5C,EAAIw5C,oBAAoBgB,EAAEH,KAK/D,IAAIW,EAAqBC,KAAkC,4BAAIA,KAAkC,6BAAK,GAClGC,EAA6BF,EAAmBnyD,KAAK8f,KAAKqyC,GAC9DA,EAAmBnyD,KAvBC6D,IACnB,IAAKyuD,EAAUC,EAAaC,GAAW3uD,EACvC,IAAI,IAAI+sD,KAAY2B,EAChB5B,oBAAoB55C,EAAEw7C,EAAa3B,KACrCD,oBAAoBvrD,EAAEwrD,GAAY2B,EAAY3B,IAIhD,IADG4B,GAASA,EAAQ7B,qBACd2B,EAAS3yD,QACduyD,EAAgBI,EAAS1T,OAAS,EACnCyT,EAA2BxuD,K,iFCiBrB,SAAS4uD,EAAYhpD,GACxB,OAAOA,EAQJ,SAASipD,EAAgBlpD,EAAMnG,GAClC,OAAOmG,IAAMnG,EAOV,SAASsvD,EAAwBnpD,EAAgCnG,GACpE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAmG,EAAInG,GACL,EACC,EAqBH,SAASuvD,EAAS72B,GACrB,MAAuB,iBAATA,EAGX,SAASg0B,EAAStmD,GACrB,MAAoB,iBAANA,EAyCX,SAASopD,IACZ,MAAMC,EAAO,GAAiB3yD,OAC9B,OAAO2yD,EAAKjoD,SAAS,YAAcioD,EAAKjoD,SAAS,SAkB9C,SAASkoD,EAAa9tC,GACzB,YAAmBxhB,IAAZwhB,ECvEX,SAAS+tC,EAAS9uD,EAAuBmC,GACrC,OAAOA,EAAS,EAAInC,EAAMvE,OAAS0G,EAASA,EAoBzC,SAAS4sD,EACZp+C,EACA7S,EACAvB,EACAC,GAEA,QAAa+C,IAATzB,GAAsC,IAAhBA,EAAKrC,OAC3B,OAAOkV,EAEX,QAAWpR,IAAPoR,EACA,OAAO7S,EAAKO,MAAM9B,EAAOC,GAE7BD,OAAkBgD,IAAVhD,EAAsB,EAAIuyD,EAAShxD,EAAMvB,GACjDC,OAAc+C,IAAR/C,EAAoBsB,EAAKrC,OAASqzD,EAAShxD,EAAMtB,GACvD,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,GAAOzB,EAAI+C,EAAKrC,OAAQV,SAC5BwE,IAAZzB,EAAK/C,IACL4V,EAAG7U,KAAKgC,EAAK/C,IAGrB,OAAO4V,EAGJ,SAASq+C,EAAYhvD,EAAY4qB,EAAe7sB,GACnD,GAAc,IAAV6sB,EACA5qB,EAAMivD,QAAQlxD,QACX,GAAI6sB,IAAU5qB,EAAMvE,OACvBuE,EAAMlE,KAAKiC,OACR,CACH,IAAK,IAAIhD,EAAIiF,EAAMvE,OAAQV,EAAI6vB,EAAO7vB,IAClCiF,EAAMjF,GAAKiF,EAAMjF,EAAI,GAEzBiF,EAAM4qB,GAAS7sB,EAEnB,OAAOiC,EAqDJ,SAASkvD,EAAQlvD,EAAiCmvD,GACrD,QAAInvD,IACImvD,EACOnvD,EAAMkvD,KAAKC,GAEXnvD,EAAMvE,OAAS,GA8B3B,SAAS2zD,EACZpvD,EACAjC,EACAsxD,EACAC,EACAntD,GAEA,OAaG,SACHnC,EACAyiB,EACA4sC,EACAC,EACAntD,GAEA,IAAK+sD,EAAKlvD,GACN,OAAQ,EAGZ,IAAI6nC,EAAM1lC,GAAU,EAChB2lC,EAAO9nC,EAAMvE,OAAS,EAC1B,KAAOosC,GAAOC,GAAM,CAChB,MAAMynB,EAAS1nB,GAAQC,EAAOD,GAAQ,GAEtC,OAAQynB,EADOD,EAAYrvD,EAAMuvD,IACL9sC,IACxB,OACIolB,EAAM0nB,EAAS,EACf,MACJ,KAAK,EACD,OAAOA,EACX,KAAK,EACDznB,EAAOynB,EAAS,GAK5B,OAAQ1nB,EAzCD2nB,CAAgBxvD,EAAOqvD,EAAYtxD,GAAQsxD,EAAaC,EAAantD,GA4EzE,SAASstD,EAAelrC,EAAgB9B,EAAQitC,GACnD,MAAM3xD,EAAQwmB,EAAIvf,IAAIyd,GACtB,QAAcljB,IAAVxB,EACA,OAAOA,EAGX,MAAM4xD,EAAWD,IAGjB,OAFAnrC,EAAI3e,IAAI6c,EAAKktC,GAENA,EASJ,SAASC,EAAuB5vD,EAAYmvD,GAC/C,IAAK,IAAIp0D,EAAI,EAAGA,EAAIiF,EAAMvE,OAAQV,IAC1Bo0D,EAAUnvD,EAAMjF,MAChBiF,EAAM2mB,OAAO5rB,EAAG,GAGhBA,KAIR,OAAOiF,EAGJ,SAAS,EAAsBwjC,EAAYqsB,GAC9C,OAAOrsB,EACFjf,KAAKyoC,GAAM6C,EAAU7C,KACrBO,QAAO,CAAChpC,EAAK9B,EAAK1nB,KACfwpB,EAAI3e,IAAI6c,GAAM8B,EAAIvf,IAAIyd,IAAQ,IAAIhd,OAAO+9B,EAAMzoC,KACxCwpB,IACR,IAAIhG,KDtPQhhB,OAAOE,UAAUyV,eEvFjC,MAAM48C,EAAmB,oBACnBC,EAAM,MACNC,EAAe,MACfC,EAAQ,QACRC,EAAe,gBAGfC,EAAc,S,ICfvBC,E,4BAAIA,EAAI,MAAmB,IAAIpD,EAAE,CAAC,IAAIA,IAAI,SAAStoD,EAAEsoD,GAAG,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,mCAAmC6R,KAAKC,UAAUs9C,IAAI,SAAS7nC,EAAE6nC,EAAEtoD,GAAG,IAAI,IAAIygB,EAAElkB,EAAE,GAAG4R,EAAE,EAAE9X,GAAG,EAAEuK,EAAE,EAAE+qD,EAAE,EAAEA,GAAGrD,EAAEvxD,SAAS40D,EAAE,CAAC,GAAGA,EAAErD,EAAEvxD,OAAO0pB,EAAE6nC,EAAE1xD,WAAW+0D,OAAO,CAAC,GAAG,KAAKlrC,EAAE,MAAMA,EAAE,GAAG,GAAG,KAAKA,EAAE,CAAC,GAAGpqB,IAAIs1D,EAAE,GAAG,IAAI/qD,QAAQ,GAAGvK,IAAIs1D,EAAE,GAAG,IAAI/qD,EAAE,CAAC,GAAGrE,EAAExF,OAAO,GAAG,IAAIoX,GAAG,KAAK5R,EAAE3F,WAAW2F,EAAExF,OAAO,IAAI,KAAKwF,EAAE3F,WAAW2F,EAAExF,OAAO,GAAG,GAAGwF,EAAExF,OAAO,EAAE,CAAC,IAAIwT,EAAEhO,EAAEO,YAAY,KAAK,GAAGyN,IAAIhO,EAAExF,OAAO,EAAE,EAAE,IAAIwT,GAAGhO,EAAE,GAAG4R,EAAE,GAAGA,GAAG5R,EAAEA,EAAE5C,MAAM,EAAE4Q,IAAIxT,OAAO,EAAEwF,EAAEO,YAAY,KAAKzG,EAAEs1D,EAAE/qD,EAAE,EAAE,eAAe,GAAG,IAAIrE,EAAExF,QAAQ,IAAIwF,EAAExF,OAAO,CAACwF,EAAE,GAAG4R,EAAE,EAAE9X,EAAEs1D,EAAE/qD,EAAE,EAAE,SAASZ,IAAIzD,EAAExF,OAAO,EAAEwF,GAAG,MAAMA,EAAE,KAAK4R,EAAE,QAAQ5R,EAAExF,OAAO,EAAEwF,GAAG,IAAI+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGpvD,EAAE+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGx9C,EAAEw9C,EAAEt1D,EAAE,EAAEA,EAAEs1D,EAAE/qD,EAAE,OAAO,KAAK6f,IAAI,IAAI7f,IAAIA,EAAEA,GAAG,EAAE,OAAOrE,EAAE,IAAIA,EAAE,CAACiP,QAAQ,WAAW,IAAI,IAAI88C,EAAE/rD,EAAE,GAAG4R,GAAE,EAAG9X,EAAEoF,UAAU1E,OAAO,EAAEV,IAAI,IAAI8X,EAAE9X,IAAI,CAAC,IAAIuK,EAAEvK,GAAG,EAAEuK,EAAEnF,UAAUpF,SAAI,IAASiyD,IAAIA,EAAE,KAAe1nD,EAAE0nD,GAAGtoD,EAAEY,GAAG,IAAIA,EAAE7J,SAASwF,EAAEqE,EAAE,IAAIrE,EAAE4R,EAAE,KAAKvN,EAAEhK,WAAW,IAAI,OAAO2F,EAAEkkB,EAAElkB,GAAG4R,GAAGA,EAAE5R,EAAExF,OAAO,EAAE,IAAIwF,EAAE,IAAIA,EAAExF,OAAO,EAAEwF,EAAE,KAAKqP,UAAU,SAAS08C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAIwF,EAAE,KAAK+rD,EAAE1xD,WAAW,GAAGuX,EAAE,KAAKm6C,EAAE1xD,WAAW0xD,EAAEvxD,OAAO,GAAG,OAAO,KAAKuxD,EAAE7nC,EAAE6nC,GAAG/rD,IAAIxF,QAAQwF,IAAI+rD,EAAE,KAAKA,EAAEvxD,OAAO,GAAGoX,IAAIm6C,GAAG,KAAK/rD,EAAE,IAAI+rD,EAAEA,GAAGz8C,WAAW,SAASy8C,GAAG,OAAOtoD,EAAEsoD,GAAGA,EAAEvxD,OAAO,GAAG,KAAKuxD,EAAE1xD,WAAW,IAAIW,KAAK,WAAW,GAAG,IAAIkE,UAAU1E,OAAO,MAAM,IAAI,IAAI,IAAIuxD,EAAE7nC,EAAE,EAAEA,EAAEhlB,UAAU1E,SAAS0pB,EAAE,CAAC,IAAItS,EAAE1S,UAAUglB,GAAGzgB,EAAEmO,GAAGA,EAAEpX,OAAO,SAAI,IAASuxD,EAAEA,EAAEn6C,EAAEm6C,GAAG,IAAIn6C,GAAG,YAAO,IAASm6C,EAAE,IAAI/rD,EAAEqP,UAAU08C,IAAIt8C,SAAS,SAASs8C,EAAE7nC,GAAG,GAAGzgB,EAAEsoD,GAAGtoD,EAAEygB,GAAG6nC,IAAI7nC,EAAE,MAAM,GAAG,IAAI6nC,EAAE/rD,EAAEiP,QAAQ88C,OAAO7nC,EAAElkB,EAAEiP,QAAQiV,IAAI,MAAM,GAAG,IAAI,IAAItS,EAAE,EAAEA,EAAEm6C,EAAEvxD,QAAQ,KAAKuxD,EAAE1xD,WAAWuX,KAAKA,GAAG,IAAI,IAAI9X,EAAEiyD,EAAEvxD,OAAO6J,EAAEvK,EAAE8X,EAAEw9C,EAAE,EAAEA,EAAElrC,EAAE1pB,QAAQ,KAAK0pB,EAAE7pB,WAAW+0D,KAAKA,GAAG,IAAI,IAAIphD,EAAEkW,EAAE1pB,OAAO40D,EAAEltD,EAAEmC,EAAE2J,EAAE3J,EAAE2J,EAAE8oC,GAAG,EAAE0V,EAAE,EAAEA,GAAGtqD,IAAIsqD,EAAE,CAAC,GAAGA,IAAItqD,EAAE,CAAC,GAAG8L,EAAE9L,EAAE,CAAC,GAAG,KAAKgiB,EAAE7pB,WAAW+0D,EAAE5C,GAAG,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,EAAE,GAAG,GAAG,IAAIA,EAAE,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,QAAQnoD,EAAEnC,IAAI,KAAK6pD,EAAE1xD,WAAWuX,EAAE46C,GAAG1V,EAAE0V,EAAE,IAAIA,IAAI1V,EAAE,IAAI,MAAM,IAAIuY,EAAEtD,EAAE1xD,WAAWuX,EAAE46C,GAAG,GAAG6C,IAAInrC,EAAE7pB,WAAW+0D,EAAE5C,GAAG,MAAM,KAAK6C,IAAIvY,EAAE0V,GAAG,IAAIx6C,EAAE,GAAG,IAAIw6C,EAAE56C,EAAEklC,EAAE,EAAE0V,GAAG1yD,IAAI0yD,EAAEA,IAAI1yD,GAAG,KAAKiyD,EAAE1xD,WAAWmyD,KAAK,IAAIx6C,EAAExX,OAAOwX,GAAG,KAAKA,GAAG,OAAO,OAAOA,EAAExX,OAAO,EAAEwX,EAAEkS,EAAE9mB,MAAMgyD,EAAEtY,IAAIsY,GAAGtY,EAAE,KAAK5yB,EAAE7pB,WAAW+0D,MAAMA,EAAElrC,EAAE9mB,MAAMgyD,KAAKl/C,UAAU,SAAS67C,GAAG,OAAOA,GAAG57C,QAAQ,SAAS47C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAI,IAAI0pB,EAAE6nC,EAAE1xD,WAAW,GAAG2F,EAAE,KAAKkkB,EAAEtS,GAAG,EAAE9X,GAAE,EAAGuK,EAAE0nD,EAAEvxD,OAAO,EAAE6J,GAAG,IAAIA,EAAE,GAAG,MAAM6f,EAAE6nC,EAAE1xD,WAAWgK,KAAK,IAAIvK,EAAE,CAAC8X,EAAEvN,EAAE,YAAYvK,GAAE,EAAG,OAAO,IAAI8X,EAAE5R,EAAE,IAAI,IAAIA,GAAG,IAAI4R,EAAE,KAAKm6C,EAAE3uD,MAAM,EAAEwU,IAAItB,SAAS,SAASy7C,EAAE7nC,GAAG,QAAG,IAASA,GAAG,iBAAiBA,EAAE,MAAM,IAAIvnB,UAAU,mCAAmC8G,EAAEsoD,GAAG,IAAI/rD,EAAE4R,EAAE,EAAE9X,GAAG,EAAEuK,GAAE,EAAG,QAAG,IAAS6f,GAAGA,EAAE1pB,OAAO,GAAG0pB,EAAE1pB,QAAQuxD,EAAEvxD,OAAO,CAAC,GAAG0pB,EAAE1pB,SAASuxD,EAAEvxD,QAAQ0pB,IAAI6nC,EAAE,MAAM,GAAG,IAAIqD,EAAElrC,EAAE1pB,OAAO,EAAEwT,GAAG,EAAE,IAAIhO,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,CAAC,IAAIkC,EAAE6pD,EAAE1xD,WAAW2F,GAAG,GAAG,KAAKkC,GAAG,IAAImC,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIgO,IAAI3J,GAAE,EAAG2J,EAAEhO,EAAE,GAAGovD,GAAG,IAAIltD,IAAIgiB,EAAE7pB,WAAW+0D,IAAI,KAAKA,IAAIt1D,EAAEkG,IAAIovD,GAAG,EAAEt1D,EAAEkU,IAAI,OAAO4D,IAAI9X,EAAEA,EAAEkU,GAAG,IAAIlU,IAAIA,EAAEiyD,EAAEvxD,QAAQuxD,EAAE3uD,MAAMwU,EAAE9X,GAAG,IAAIkG,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,GAAG,KAAK+rD,EAAE1xD,WAAW2F,IAAI,IAAIqE,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIlG,IAAIuK,GAAE,EAAGvK,EAAEkG,EAAE,GAAG,OAAO,IAAIlG,EAAE,GAAGiyD,EAAE3uD,MAAMwU,EAAE9X,IAAI2W,QAAQ,SAASs7C,GAAGtoD,EAAEsoD,GAAG,IAAI,IAAI7nC,GAAG,EAAElkB,EAAE,EAAE4R,GAAG,EAAE9X,GAAE,EAAGuK,EAAE,EAAE+qD,EAAErD,EAAEvxD,OAAO,EAAE40D,GAAG,IAAIA,EAAE,CAAC,IAAIphD,EAAE+9C,EAAE1xD,WAAW+0D,GAAG,GAAG,KAAKphD,GAAG,IAAI4D,IAAI9X,GAAE,EAAG8X,EAAEw9C,EAAE,GAAG,KAAKphD,GAAG,IAAIkW,EAAEA,EAAEkrC,EAAE,IAAI/qD,IAAIA,EAAE,IAAI,IAAI6f,IAAI7f,GAAG,QAAQ,IAAIvK,EAAE,CAACkG,EAAEovD,EAAE,EAAE,OAAO,OAAO,IAAIlrC,IAAI,IAAItS,GAAG,IAAIvN,GAAG,IAAIA,GAAG6f,IAAItS,EAAE,GAAGsS,IAAIlkB,EAAE,EAAE,GAAG+rD,EAAE3uD,MAAM8mB,EAAEtS,IAAIf,OAAO,SAASk7C,GAAG,GAAG,OAAOA,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,0EAA0EovD,GAAG,OAAO,SAASA,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAErD,KAAKqD,EAAEuN,KAAKhR,EAAEyD,EAAEwN,OAAOxN,EAAEoI,MAAM,KAAKpI,EAAE0C,KAAK,IAAI,OAAO+d,EAAEA,IAAIzgB,EAAEuN,KAAKkT,EAAElkB,EAAEkkB,EAAE,IAAIlkB,EAAEA,EAArG,CAAwG,EAAE+rD,IAAI56C,MAAM,SAAS46C,GAAGtoD,EAAEsoD,GAAG,IAAI7nC,EAAE,CAAClT,KAAK,GAAG5Q,IAAI,GAAG6Q,KAAK,GAAG9K,IAAI,GAAG0F,KAAK,IAAI,GAAG,IAAIkgD,EAAEvxD,OAAO,OAAO0pB,EAAE,IAAIlkB,EAAE4R,EAAEm6C,EAAE1xD,WAAW,GAAGP,EAAE,KAAK8X,EAAE9X,GAAGoqB,EAAElT,KAAK,IAAIhR,EAAE,GAAGA,EAAE,EAAE,IAAI,IAAIqE,GAAG,EAAE+qD,EAAE,EAAEphD,GAAG,EAAE9L,GAAE,EAAG40C,EAAEiV,EAAEvxD,OAAO,EAAEgyD,EAAE,EAAE1V,GAAG92C,IAAI82C,EAAE,GAAG,MAAMllC,EAAEm6C,EAAE1xD,WAAWy8C,KAAK,IAAI9oC,IAAI9L,GAAE,EAAG8L,EAAE8oC,EAAE,GAAG,KAAKllC,GAAG,IAAIvN,EAAEA,EAAEyyC,EAAE,IAAI0V,IAAIA,EAAE,IAAI,IAAInoD,IAAImoD,GAAG,QAAQ,IAAItqD,EAAE,CAACktD,EAAEtY,EAAE,EAAE,MAAM,OAAO,IAAIzyC,IAAI,IAAI2J,GAAG,IAAIw+C,GAAG,IAAIA,GAAGnoD,IAAI2J,EAAE,GAAG3J,IAAI+qD,EAAE,GAAG,IAAIphD,IAAIkW,EAAEjT,KAAKiT,EAAErY,KAAK,IAAIujD,GAAGt1D,EAAEiyD,EAAE3uD,MAAM,EAAE4Q,GAAG+9C,EAAE3uD,MAAMgyD,EAAEphD,KAAK,IAAIohD,GAAGt1D,GAAGoqB,EAAErY,KAAKkgD,EAAE3uD,MAAM,EAAEiH,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAM,EAAE4Q,KAAKkW,EAAErY,KAAKkgD,EAAE3uD,MAAMgyD,EAAE/qD,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAMgyD,EAAEphD,IAAIkW,EAAE/d,IAAI4lD,EAAE3uD,MAAMiH,EAAE2J,IAAIohD,EAAE,EAAElrC,EAAE9jB,IAAI2rD,EAAE3uD,MAAM,EAAEgyD,EAAE,GAAGt1D,IAAIoqB,EAAE9jB,IAAI,KAAK8jB,GAAGnT,IAAI,IAAIK,UAAU,IAAIC,MAAM,KAAKrC,MAAM,MAAMhP,EAAEgP,MAAMhP,EAAE+rD,EAAE1yD,QAAQ2G,GAAG,IAAI,CAAC+rD,EAAEtoD,EAAEygB,KAAK,IAAIlkB,EAAE,GAAGkkB,EAAEA,EAAEzgB,GAAGygB,EAAEnW,EAAEtK,EAAE,CAAC6rD,IAAI,IAAIvhD,EAAEwhD,MAAM,IAAIC,IAAI,gBAAiB,sEAAQxvD,EAAE,UAAU,sEAAQyvD,cAAc,GAAG,iBAAiBC,UAAU,CAAC,IAAI99C,EAAE89C,UAAUC,UAAU3vD,EAAE4R,EAAEvW,QAAQ,YAAY,EAAE,IAAIvB,EAAEuK,EAAE+qD,GAAGt1D,EAAE,SAASiyD,EAAEtoD,GAAG,OAAO3J,EAAEwC,OAAOC,gBAAgB,CAACqzD,UAAU,cAAc10D,OAAO,SAAS6wD,EAAEtoD,GAAGsoD,EAAE6D,UAAUnsD,IAAI,SAASsoD,EAAEtoD,GAAG,IAAI,IAAIygB,KAAKzgB,EAAEnH,OAAOE,UAAUyV,eAAe3R,KAAKmD,EAAEygB,KAAK6nC,EAAE7nC,GAAGzgB,EAAEygB,MAAM6nC,EAAEtoD,IAAI,SAASsoD,EAAEtoD,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI9G,UAAU,uBAAuBgE,OAAO8C,GAAG,iCAAiC,SAASygB,IAAI1kB,KAAKiM,YAAYsgD,EAAEjyD,EAAEiyD,EAAEtoD,GAAGsoD,EAAEvvD,UAAU,OAAOiH,EAAEnH,OAAOqV,OAAOlO,IAAIygB,EAAE1nB,UAAUiH,EAAEjH,UAAU,IAAI0nB,KAAKlW,EAAE,iBAAiB9L,EAAE,MAAM40C,EAAE,QAAQ,SAAS0V,EAAET,EAAEtoD,GAAG,IAAIsoD,EAAEx2B,QAAQ9xB,EAAE,MAAM,IAAIrI,MAAM,2DAA2DoJ,OAAOunD,EAAE8D,UAAU,cAAcrrD,OAAOunD,EAAEx9C,KAAK,eAAe/J,OAAOunD,EAAE+D,MAAM,kBAAkBtrD,OAAOunD,EAAEgE,SAAS,OAAO,GAAGhE,EAAEx2B,SAASvnB,EAAEwoC,KAAKuV,EAAEx2B,QAAQ,MAAM,IAAIn6B,MAAM,mDAAmD,GAAG2wD,EAAEx9C,KAAK,GAAGw9C,EAAE8D,WAAW,IAAI3tD,EAAEs0C,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,iJAAiJ,GAAG07C,EAAEN,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,6HAA6H,IAAIi0D,EAAE,GAAGr9C,EAAE,IAAIglC,EAAE,+DAA+DjpC,EAAE,WAAW,SAASg+C,EAAEA,EAAEtoD,EAAEygB,EAAElkB,EAAE4R,EAAE9X,QAAG,IAASA,IAAIA,GAAE,GAAI,iBAAiBiyD,GAAGvsD,KAAK+1B,OAAOw2B,EAAEx2B,QAAQ85B,EAAE7vD,KAAKqwD,UAAU9D,EAAE8D,WAAWR,EAAE7vD,KAAK+O,KAAKw9C,EAAEx9C,MAAM8gD,EAAE7vD,KAAKswD,MAAM/D,EAAE+D,OAAOT,EAAE7vD,KAAKuwD,SAAShE,EAAEgE,UAAUV,IAAI7vD,KAAK+1B,OAAO,SAASw2B,EAAEtoD,GAAG,OAAOsoD,GAAGtoD,EAAEsoD,EAAE,OAA5B,CAAoCA,EAAEjyD,GAAG0F,KAAKqwD,UAAUpsD,GAAG4rD,EAAE7vD,KAAK+O,KAAK,SAASw9C,EAAEtoD,GAAG,OAAOsoD,GAAG,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAOtoD,EAAEA,EAAE,KAAKuO,IAAIvO,EAAEuO,EAAEvO,GAAGA,EAAEuO,EAAE,OAAOvO,EAAzF,CAA4FjE,KAAK+1B,OAAOrR,GAAGmrC,GAAG7vD,KAAKswD,MAAM9vD,GAAGqvD,EAAE7vD,KAAKuwD,SAASn+C,GAAGy9C,EAAE7C,EAAEhtD,KAAK1F,IAAI,OAAOiyD,EAAEiE,MAAM,SAASvsD,GAAG,OAAOA,aAAasoD,KAAKtoD,GAAG,iBAAiBA,EAAEosD,WAAW,iBAAiBpsD,EAAEssD,UAAU,iBAAiBtsD,EAAE8K,MAAM,iBAAiB9K,EAAEqsD,OAAO,iBAAiBrsD,EAAE8xB,QAAQ,iBAAiB9xB,EAAEwsD,QAAQ,mBAAmBxsD,EAAEysD,MAAM,mBAAmBzsD,EAAEzE,UAAU1C,OAAOuH,eAAekoD,EAAEvvD,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOosD,EAAE3wD,MAAK,IAAKsE,YAAW,EAAG8H,cAAa,IAAKmgD,EAAEvvD,UAAU0zD,KAAK,SAASnE,GAAG,IAAIA,EAAE,OAAOvsD,KAAK,IAAIiE,EAAEsoD,EAAEx2B,OAAOrR,EAAE6nC,EAAE8D,UAAU7vD,EAAE+rD,EAAEx9C,KAAKqD,EAAEm6C,EAAE+D,MAAMh2D,EAAEiyD,EAAEgE,SAAS,YAAO,IAAStsD,EAAEA,EAAEjE,KAAK+1B,OAAO,OAAO9xB,IAAIA,EAAE4rD,QAAG,IAASnrC,EAAEA,EAAE1kB,KAAKqwD,UAAU,OAAO3rC,IAAIA,EAAEmrC,QAAG,IAASrvD,EAAEA,EAAER,KAAK+O,KAAK,OAAOvO,IAAIA,EAAEqvD,QAAG,IAASz9C,EAAEA,EAAEpS,KAAKswD,MAAM,OAAOl+C,IAAIA,EAAEy9C,QAAG,IAASv1D,EAAEA,EAAE0F,KAAKuwD,SAAS,OAAOj2D,IAAIA,EAAEu1D,GAAG5rD,IAAIjE,KAAK+1B,QAAQrR,IAAI1kB,KAAKqwD,WAAW7vD,IAAIR,KAAK+O,MAAMqD,IAAIpS,KAAKswD,OAAOh2D,IAAI0F,KAAKuwD,SAASvwD,KAAK,IAAI+E,EAAEd,EAAEygB,EAAElkB,EAAE4R,EAAE9X,IAAIiyD,EAAE56C,MAAM,SAAS46C,EAAEtoD,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIygB,EAAE8yB,EAAEoZ,KAAKrE,GAAG,OAAO7nC,EAAE,IAAI3f,EAAE2f,EAAE,IAAImrC,EAAEgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAG5rD,GAAG,IAAIc,EAAE8qD,EAAEA,EAAEA,EAAEA,EAAEA,IAAItD,EAAE78B,KAAK,SAAS68B,GAAG,IAAItoD,EAAE4rD,EAAE,GAAGrvD,IAAI+rD,EAAEA,EAAE5mD,QAAQ,MAAM6M,IAAI+5C,EAAE,KAAK/5C,GAAG+5C,EAAE,KAAK/5C,EAAE,CAAC,IAAIkS,EAAE6nC,EAAE1wD,QAAQ2W,EAAE,IAAI,IAAIkS,GAAGzgB,EAAEsoD,EAAE/lB,UAAU,GAAG+lB,EAAE/5C,IAAIvO,EAAEsoD,EAAE/lB,UAAU,EAAE9hB,GAAG6nC,EAAEA,EAAE/lB,UAAU9hB,IAAIlS,GAAG,OAAO,IAAIzN,EAAE,OAAOd,EAAEsoD,EAAEsD,EAAEA,IAAItD,EAAElvD,KAAK,SAASkvD,GAAG,IAAItoD,EAAE,IAAIc,EAAEwnD,EAAEx2B,OAAOw2B,EAAE8D,UAAU9D,EAAEx9C,KAAKw9C,EAAE+D,MAAM/D,EAAEgE,UAAU,OAAOvD,EAAE/oD,GAAE,GAAIA,GAAGsoD,EAAEvvD,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIuE,EAAE9wD,KAAKusD,IAAIA,EAAEvvD,UAAUoJ,OAAO,WAAW,OAAOpG,MAAMusD,EAAEwE,OAAO,SAAS9sD,GAAG,GAAGA,EAAE,CAAC,GAAGA,aAAasoD,EAAE,OAAOtoD,EAAE,IAAIygB,EAAE,IAAI3f,EAAEd,GAAG,OAAOygB,EAAEssC,WAAW/sD,EAAEgtD,SAASvsC,EAAEwsC,QAAQjtD,EAAEktD,OAAOC,EAAEntD,EAAEwsD,OAAO,KAAK/rC,EAAE,OAAOzgB,GAAGsoD,EAAr6D,GAA06D6E,EAAE5wD,EAAE,OAAE,EAAOuE,EAAE,SAASwnD,GAAG,SAAStoD,IAAI,IAAIA,EAAE,OAAOsoD,GAAGA,EAAE5oD,MAAM3D,KAAKN,YAAYM,KAAK,OAAOiE,EAAE+sD,WAAW,KAAK/sD,EAAEitD,QAAQ,KAAKjtD,EAAE,OAAO2rD,EAAE3rD,EAAEsoD,GAAGzvD,OAAOuH,eAAeJ,EAAEjH,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOvE,KAAKkxD,UAAUlxD,KAAKkxD,QAAQP,EAAE3wD,MAAK,IAAKA,KAAKkxD,SAAS5sD,YAAW,EAAG8H,cAAa,IAAKnI,EAAEjH,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIA,EAAEuE,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAahxD,KAAKgxD,WAAWF,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAa/sD,EAAEjH,UAAUoJ,OAAO,WAAW,IAAImmD,EAAE,CAAC8E,KAAK,GAAG,OAAOrxD,KAAKkxD,UAAU3E,EAAEkE,OAAOzwD,KAAKkxD,QAAQ3E,EAAE4E,KAAKC,GAAGpxD,KAAKgxD,aAAazE,EAAE0E,SAASjxD,KAAKgxD,YAAYhxD,KAAK+O,OAAOw9C,EAAEx9C,KAAK/O,KAAK+O,MAAM/O,KAAK+1B,SAASw2B,EAAEx2B,OAAO/1B,KAAK+1B,QAAQ/1B,KAAKqwD,YAAY9D,EAAE8D,UAAUrwD,KAAKqwD,WAAWrwD,KAAKswD,QAAQ/D,EAAE+D,MAAMtwD,KAAKswD,OAAOtwD,KAAKuwD,WAAWhE,EAAEgE,SAASvwD,KAAKuwD,UAAUhE,GAAGtoD,EAA9uB,CAAivBsK,GAAG9N,IAAIoE,EAAE,IAAI,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,GAAG,SAASnG,EAAE6tD,EAAEtoD,GAAG,IAAI,IAAIygB,OAAE,EAAOlkB,GAAG,EAAE4R,EAAE,EAAEA,EAAEm6C,EAAEvxD,OAAOoX,IAAI,CAAC,IAAI9X,EAAEiyD,EAAE1xD,WAAWuX,GAAG,GAAG9X,GAAG,IAAIA,GAAG,KAAKA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAI,KAAKA,GAAG,KAAKA,GAAG,KAAKA,GAAG,MAAMA,GAAG2J,GAAG,KAAK3J,GAAG,IAAIkG,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,QAAG,IAASkkB,IAAIA,GAAG6nC,EAAEplB,OAAO/0B,QAAQ,MAAC,IAASsS,IAAIA,EAAE6nC,EAAEvqD,OAAO,EAAEoQ,IAAI,IAAIvN,EAAEpE,EAAEnG,QAAG,IAASuK,IAAI,IAAIrE,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,GAAGkkB,GAAG7f,IAAI,IAAIrE,IAAIA,EAAE4R,IAAI,OAAO,IAAI5R,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,UAAK,IAASkkB,EAAEA,EAAE6nC,EAAE,SAASgF,EAAEhF,GAAG,IAAI,IAAItoD,OAAE,EAAOygB,EAAE,EAAEA,EAAE6nC,EAAEvxD,OAAO0pB,IAAI,CAAC,IAAIlkB,EAAE+rD,EAAE1xD,WAAW6pB,GAAG,KAAKlkB,GAAG,KAAKA,QAAG,IAASyD,IAAIA,EAAEsoD,EAAEvqD,OAAO,EAAE0iB,IAAIzgB,GAAGxD,EAAED,SAAI,IAASyD,IAAIA,GAAGsoD,EAAE7nC,IAAI,YAAO,IAASzgB,EAAEA,EAAEsoD,EAAE,SAASoE,EAAEpE,EAAEtoD,GAAG,IAAIygB,EAAE,OAAOA,EAAE6nC,EAAE8D,WAAW9D,EAAEx9C,KAAK/T,OAAO,GAAG,SAASuxD,EAAEx2B,OAAO,KAAK/wB,OAAOunD,EAAE8D,WAAWrrD,OAAOunD,EAAEx9C,MAAM,KAAKw9C,EAAEx9C,KAAKlU,WAAW,KAAK0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,MAAM,KAAK0xD,EAAEx9C,KAAKlU,WAAW,GAAGoJ,EAAEsoD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAK,GAAGjP,cAAcysD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAKvO,IAAIkkB,EAAEA,EAAE/e,QAAQ,MAAM,OAAO+e,EAAE,SAASosC,EAAEvE,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAEstD,EAAE7yD,EAAE8B,EAAE,GAAG4R,EAAEm6C,EAAEx2B,OAAOz7B,EAAEiyD,EAAE8D,UAAUxrD,EAAE0nD,EAAEx9C,KAAK6gD,EAAErD,EAAE+D,MAAM9hD,EAAE+9C,EAAEgE,SAAS,GAAGn+C,IAAI5R,GAAG4R,EAAE5R,GAAG,MAAMlG,GAAG,SAAS8X,KAAK5R,GAAGgS,EAAEhS,GAAGgS,GAAGlY,EAAE,CAAC,IAAIoI,EAAEpI,EAAEuB,QAAQ,KAAK,IAAI,IAAI6G,EAAE,CAAC,IAAI40C,EAAEh9C,EAAE0H,OAAO,EAAEU,GAAGpI,EAAEA,EAAE0H,OAAOU,EAAE,IAAI,KAAKA,EAAE40C,EAAEz7C,QAAQ,MAAM2E,GAAGkkB,EAAE4yB,GAAE,IAAK92C,GAAGkkB,EAAE4yB,EAAEt1C,OAAO,EAAEU,IAAG,GAAIlC,GAAG,IAAIA,GAAGkkB,EAAE4yB,EAAEt1C,OAAOU,EAAE,IAAG,IAAKlC,GAAG,KAAK,KAAKkC,GAAGpI,EAAEA,EAAEwF,eAAejE,QAAQ,MAAM2E,GAAGkkB,EAAEpqB,GAAE,IAAKkG,GAAGkkB,EAAEpqB,EAAE0H,OAAO,EAAEU,IAAG,GAAIlC,GAAGlG,EAAE0H,OAAOU,IAAI,GAAGmC,EAAE,CAAC,GAAGA,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,IAAI,KAAKgK,EAAEhK,WAAW,IAAImyD,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,IAAIG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,UAAU,GAAG6C,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,GAAG,CAAC,IAAImyD,GAAGA,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,GAAGG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,KAAKxB,GAAGkkB,EAAE7f,GAAE,GAAI,OAAO+qD,IAAIpvD,GAAG,IAAIA,GAAGkkB,EAAEkrC,GAAE,IAAKphD,IAAIhO,GAAG,IAAIA,GAAGyD,EAAEuK,EAAE9P,EAAE8P,GAAE,IAAKhO,EAAE,SAASsE,EAAEynD,GAAG,IAAI,OAAOiF,mBAAmBjF,GAAG,MAAMtoD,GAAG,OAAOsoD,EAAEvxD,OAAO,EAAEuxD,EAAEvqD,OAAO,EAAE,GAAG8C,EAAEynD,EAAEvqD,OAAO,IAAIuqD,GAAG,IAAI9vC,EAAE,8BAA8B,SAASo0C,EAAEtE,GAAG,OAAOA,EAAEkF,MAAMh1C,GAAG8vC,EAAE5mD,QAAQ8W,GAAE,SAAU8vC,GAAG,OAAOznD,EAAEynD,MAAMA,EAAE,IAAIyD,EAAExuD,EAAEkjB,EAAE,KAAKgtC,EAAE,SAASnF,EAAEtoD,EAAEygB,GAAG,GAAGA,GAAG,IAAIhlB,UAAU1E,OAAO,IAAI,IAAIwF,EAAE4R,EAAE,EAAE9X,EAAE2J,EAAEjJ,OAAOoX,EAAE9X,EAAE8X,KAAK5R,GAAG4R,KAAKnO,IAAIzD,IAAIA,EAAE9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,EAAE,EAAEmO,IAAI5R,EAAE4R,GAAGnO,EAAEmO,IAAI,OAAOm6C,EAAEvnD,OAAOxE,GAAG9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,KAAK0tD,EAAEnwD,EAAEgO,OAAOhO,GAAG,SAAS+qD,GAAGA,EAAEqF,SAAS,SAASrF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,OAAO6nC,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEn2D,KAAKmI,MAAMguD,EAAED,EAAE,CAACnF,EAAEx9C,MAAM9K,GAAE,OAAQsoD,EAAEsF,YAAY,SAAStF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,IAAIlkB,EAAE+rD,EAAEx9C,MAAM,IAAI,OAAOw9C,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEliD,QAAQ9L,MAAMguD,EAAED,EAAE,CAAClxD,GAAGyD,GAAE,OAAQsoD,EAAE57C,QAAQ,SAAS47C,GAAG,IAAItoD,EAAE0tD,EAAEhhD,QAAQ47C,EAAEx9C,MAAM,OAAO,IAAI9K,EAAEjJ,QAAQ,KAAKiJ,EAAEpJ,WAAW,GAAG0xD,EAAEA,EAAEmE,KAAK,CAAC3hD,KAAK9K,KAAKsoD,EAAEz7C,SAAS,SAASy7C,GAAG,OAAOoF,EAAE7gD,SAASy7C,EAAEx9C,OAAOw9C,EAAEt7C,QAAQ,SAASs7C,GAAG,OAAOoF,EAAE1gD,QAAQs7C,EAAEx9C,OAA5f,CAAogBihD,IAAIA,EAAE,OAAO/rD,EAAE,GAAG,SAASygB,EAAElkB,GAAG,GAAGyD,EAAEzD,GAAG,OAAOyD,EAAEzD,GAAG3G,QAAQ,IAAIuY,EAAEnO,EAAEzD,GAAG,CAAC3G,QAAQ,IAAI,OAAO0yD,EAAE/rD,GAAG4R,EAAEA,EAAEvY,QAAQ6qB,GAAGtS,EAAEvY,QAAQ,OAAO6qB,EAAEnW,EAAE,CAACg+C,EAAEtoD,KAAK,IAAI,IAAIzD,KAAKyD,EAAEygB,EAAEtS,EAAEnO,EAAEzD,KAAKkkB,EAAEtS,EAAEm6C,EAAE/rD,IAAI1D,OAAOuH,eAAekoD,EAAE/rD,EAAE,CAAC8D,YAAW,EAAGC,IAAIN,EAAEzD,MAAMkkB,EAAEtS,EAAE,CAACm6C,EAAEtoD,IAAInH,OAAOE,UAAUyV,eAAe3R,KAAKyrD,EAAEtoD,GAAGygB,EAAEA,EAAE6nC,IAAI,oBAAoBlwD,QAAQA,OAAOkrB,aAAazqB,OAAOuH,eAAekoD,EAAElwD,OAAOkrB,YAAY,CAACjqB,MAAM,WAAWR,OAAOuH,eAAekoD,EAAE,aAAa,CAACjvD,OAAM,KAAMonB,EAAE,MAApgX,GAAohX,MAAK,IAACorC,EAAG,MAACC,GAAOJ,ECW1iX,SAASmC,EACZC,EACAxlD,EACAylD,EACAC,GAEKF,IACGC,IACAzlD,GACI,mCAC6B,iBAArBylD,EAAgCA,EAAmBA,MAEnEE,EAAK3lD,EAAU,qBAAuBA,EAAU,oBAAqB0lD,GAAkBH,IAIxF,SAASI,EAAK3lD,EAAkB0lD,GAEnC,MAAMhuD,EAAI,IAAIrI,MAAM2Q,EAAU,kBAAkBA,IAAY,kBAI5D,MAHI3Q,MAAM+8C,mBACN/8C,MAAM+8C,kBAAkB10C,EAAGguD,GAAkBC,GAE3CjuD,EAuBH,SAASkuD,EAAYC,EAAe7lD,EAAU,iBAAkB0lD,GAEnEC,EAAK,GAAG3lD,KADOyC,KAAKC,UAAUmjD,KACDH,GAAkBE,GAwD5C,SAASE,EAAqBjuD,GACjC,GAAKA,EAKL,OADkB4K,KAAKC,UAAU7K,GACnBpJ,OAAS,EAGZoJ,EAOJ,CAAEiI,KAHIjI,EAAMiI,MAAQ4hD,EAAS7pD,EAAMiI,MAAQjI,EAAMiI,KAAmB,SAG5DE,QAFCnI,EAAMmI,SAAW0hD,EAAS7pD,EAAMmI,SAAWnI,EAAMmI,QAAyB,YAElED,MADVlI,EAAMkI,OAAS2hD,EAAS7pD,EAAMkI,OAASlI,EAAMkI,WAAqBxN,GCvHpF,IAAIwzD,EAEJ,IAEIA,EAAa,oBAAQ,OAChBA,aAAU,EAAVA,EAAYC,eACbD,OAAaxzD,GAEnB,OA8BK,SAAS0zD,EAAelzD,GAC3B,GAAIgzD,EACA,OAAOA,EAAWC,YAAYjzD,GAAME,SAAS,OAGjD,GAAIizD,OAAQ,CAER,OAXYl4D,EAUAk4D,OAAOC,gBAAgB,IAAIj3D,WAAW6D,IAT/C,IAAI/E,GAAKupB,KAAKhf,GAAMA,EAAEtF,SAAS,IAAImzD,SAAS,EAAG,OAAMn3D,KAAK,IADrE,IAAoBjB,EAchB23D,EAAK,4B,2DCCF,SAASU,EAAkBC,EAAoBC,GAClD,MAAMC,EAAaF,EAAWG,oBACxBC,EAAcH,EAAWE,oBACzBE,EAAcH,EAAW/3D,OACzBm4D,EAAeF,EAAYj4D,OACjC,IAAIo4D,EAAW,EACXC,EAAY,EAChB,KAAOD,EAAWF,GAAeG,EAAYF,GACrCJ,EAAWK,KAAcH,EAAYI,KACrCD,GAAY,GAEhBC,GAAa,EAEjB,OAAOD,IAAaF,EAIjB,SAASI,EAAWnwB,GACvB,IAAIowB,EAAO,EAEX,IAAK,IAAIj5D,EAAI,EAAGA,EAAI6oC,EAASnoC,OAAQV,IACjCi5D,GAASA,GAAQ,GAAKA,EAAOpwB,EAAStoC,WAAWP,GAAM,EAE3D,OAAOi5D,EAeJ,SAASC,EAA8B3uD,EAAuBnG,GACjE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAsvD,EAAwBnpD,EAAE4uD,cAAe/0D,EAAE+0D,eAa9C,SAASC,EAA4B7uD,EAAuBnG,GAC/D,OAAOsvD,EAAwBnpD,EAAGnG,GAG/B,SAASi1D,EAAkBC,GAC9B,OAAOA,EAAaJ,EAAgCE,EAWjD,SAASG,EAA6BhvD,EAAWnG,GACpD,OAA+C,IAAxC80D,EAA8B3uD,EAAGnG,GASrC,SAASo1D,EAA2BjvD,EAAWnG,GAClD,OAA6C,IAAtCg1D,EAA4B7uD,EAAGnG,GAGnC,SAASq1D,EAAkBz2D,EAAe4pC,GAC7C,IAAIlnB,EAAS,EACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC1BgD,EAAMhD,KAAO4sC,GACblnB,IAGR,OAAOA,EC/HX,IAAIg0C,EAaG,IAAUC,EAYV,SAASC,EACZC,EACAxgD,GAEA,OAAa,CACT,MAAMqM,EAASrM,EAASwgD,GACxB,QAAer1D,IAAXkhB,EACA,OAAOA,EAGX,MAAMo0C,EAAaC,EAAiBF,GACpC,GAAIC,IAAeD,EACf,OAGJA,EAAYC,GAIb,SAASC,EAAiBC,GAC7B,OAAOA,EAAWtyD,OAAO,EAAGc,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,SAGpF,SAASwzD,EAAcD,GAC1B,GAAIA,EAAWntB,OAAO,KAAO,MAAU,CACnC,GAAImtB,EAAWntB,OAAO,KAAO,MACzB,OAAO,EAEX,MAAMqtB,EAAKF,EAAWz4D,QAAQ,MAAU,GACxC,GAAI24D,EAAK,EACL,OAAO,EAEX,MAAMC,EAAKH,EAAWz4D,QAAQ,MAAU24D,EAAK,GAC7C,OAAIC,EAAK,EACED,EAAK,EAETC,EAAK,EAEhB,MAA6B,MAAzBH,EAAWntB,OAAO,IACdmtB,EAAWntB,OAAO,KAAO,MAClB,EAGR,EAGJ,SAASutB,EAAkBJ,GAC9B,MAAMK,EAAiBC,EAAiBN,GAClCO,EAAaN,EAAcI,GAC3BnjD,EAAOmjD,EAAenuB,UAAU,EAAGquB,GACnCC,EAAOH,EAAenuB,UAAUquB,GAAYtnD,MAAM,OAKxD,OAJIunD,EAAK95D,OAAS,IAAM85D,EAAKA,EAAK95D,OAAS,IACvC85D,EAAK7a,MAGF8a,EAAqB,CAACvjD,KAASsjD,IAGnC,SAASC,EAAqBC,GACjC,IAAKvG,EAAKuG,GACN,MAAO,GAKX,MAAMC,EAAU,CAACD,EAAW,IAC5B,IAAK,IAAI16D,EAAI,EAAGA,EAAI06D,EAAWh6D,OAAQV,IAAK,CACxC,MAAM46D,EAAYF,EAAW16D,GAC7B,GAAK46D,GAA2B,MAAdA,EAAlB,CAIA,GAAkB,OAAdA,EACA,GAAID,EAAQj6D,OAAS,GACjB,GAAoC,OAAhCi6D,EAAQA,EAAQj6D,OAAS,GAAa,CACtCi6D,EAAQhb,MACR,eAED,GAAIgb,EAAQ,GACf,SAGRA,EAAQ55D,KAAK65D,IAGjB,OAAOD,EAGJ,SAASE,EAAsBH,GAClC,OAA0B,IAAtBA,EAAWh6D,OACJ,GAIJ45D,GADMI,EAAW,IAAMI,GAAiCJ,EAAW,KAC3CA,EAAWp3D,MAAM,GAAGpC,KAAK,QAGrD,SAAS65D,EAAgBC,EAAiBC,GAC7C,IAAKD,EAAQE,WAAWJ,GAAiCG,IACrD,OAGJ,MAAME,EAAiBf,EAAkBY,GAGzC,IAAII,EAAe,IACnB,IAAK,IAAIp7D,EAHoBo6D,EAAkBa,GAGbv6D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEo7D,GAAgB,MAAWD,EAAen7D,GAG9C,OAAOo7D,EAIJ,SAASC,EAAgBC,EAAgBN,EAAiBO,GAC7D,IAAKP,EAAQE,WAAWK,GACpB,OAGJ,MAAMJ,EAAiBf,EAAkBY,GAEzC,IAAIQ,EAAUD,EAEd,IAAK,IAAIv7D,EAHoBo6D,EAAkBmB,GAGb76D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEw7D,EAAUC,GAAaD,EAASL,EAAen7D,IAC1Cs7D,EAAGI,WAAWF,IACfF,EAAGK,UAAUH,IA1IzB,SAAiB7B,GACG,EAAA1/C,GAAhB,SAAmBjX,GACf,MAAM0d,EAAsB1d,EAC5B,OAAO0d,KAAeA,EAAUk7C,gBAAkBl7C,EAAUm7C,QAHpE,CAAiBlC,MAAQ,KA+JzB,MAAMmC,EAAgC,MAAb,MAAmB,KAAO,IAC5C,SAASxB,EAAiBN,GAC7B,GAAIA,EAAWpuD,SAASkwD,GAAmB,CACvC,MAAMC,EAAkB,SACxB,OAAO/B,EAAW3uD,QAAQ0wD,EAAiB,OAG/C,OAAO/B,EAaJ,SAASgC,GAAavnD,KAAiBwnD,GAC1C,OAAOC,GAAc/H,EAAK8H,GAASR,GAAahnD,KAASwnD,GAAS3B,EAAiB7lD,IAGhF,SAASgnD,GAAazB,KAAuBiC,GAC5CjC,IACAA,EAAaM,EAAiBN,IAGlC,IAAK,IAAIoB,KAAgBa,EAChBb,IAILA,EAAed,EAAiBc,GAK5BpB,EAHCA,GAA8C,IAAhCC,EAAcmB,GAGhBN,GAAiCd,GAAcoB,EAF/CA,GAMrB,OAAOpB,EA0BJ,SAASmC,GAAatxB,EAAgBuxB,EAAeC,EAAqC/C,GAQ7F,GAPgC,iBAArB+C,GACPxxB,EAAS4wB,GAAaY,EAAkBxxB,GACxCuxB,EAAQX,GAAaY,EAAkBD,IACJ,kBAArBC,IACd/C,EAAa+C,QAGF73D,IAAXqmC,QAAkCrmC,IAAV43D,EACxB,OAAO,EAEX,GAAIvxB,IAAWuxB,EACX,OAAO,EAGX,MAAME,EAAmBlC,EAAkBvvB,GACrC0xB,EAAkBnC,EAAkBgC,GAE1C,GAAIG,EAAgB77D,OAAS47D,EAAiB57D,OAC1C,OAAO,EAGX,MAAM87D,EAA4BlD,EAAaC,EAA+BC,EAC9E,IAAK,IAAIx5D,EAAI,EAAGA,EAAIs8D,EAAiB57D,OAAQV,IAEzC,KAD+B,IAANA,EAAUu5D,EAA+BiD,GAC5CF,EAAiBt8D,GAAIu8D,EAAgBv8D,IACvD,OAAO,EAIf,OAAO,EA2BJ,SAASy8D,GACZhoD,EACApI,EACAqwD,EACApD,GAEA,MAAMqD,OACan4D,IAAfk4D,QAA2Cl4D,IAAf80D,EACtBsD,GAAwBnoD,EAAMioD,EAAYpD,GAC1CsD,GAAwBnoD,GAElC,OAAOkoD,EAAUloD,EAAKnR,MAAM,EAAGmR,EAAK/T,OAASi8D,EAAQj8D,SAAW2L,EAAI6uD,WAAW,KAAO7uD,EAAM,IAAMA,GAAOoI,EA4BtG,SAASmoD,GACZnoD,EACAioD,EACApD,GAIA,GAAIoD,EACA,OAmaR,SACIjoD,EACAioD,EACAG,GAEA,GAA0B,iBAAfH,EACP,OAAOI,GAAwBroD,EAAMioD,EAAYG,IAA2B,GAEhF,IAAK,MAAME,KAAaL,EAAY,CAChC,MAAMh3C,EAASo3C,GAAwBroD,EAAMsoD,EAAWF,GACxD,GAAIn3C,EACA,OAAOA,EAGf,MAAO,GAjbIs3C,CACHC,GAAgCxoD,GAChCioD,EACApD,EAAaC,EAA+BC,GAGpD,MAAM0D,EA0CH,SAAyBlD,EAAoB0C,EAAyCpD,GAKzF,GADmBW,EAHnBD,EAAaM,EAAiBN,MAIXA,EAAWt5D,OAC1B,MAAO,GAMX,MAAMqR,GADNioD,EAAaiD,GAAgCjD,IACrB12D,MAAMkF,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,OAAY,IAMrG,OAAmEsL,EA5D9CorD,CAAgB1oD,GAC/B2oD,EAAiBF,EAAaz2D,YAAY,KAChD,OAAI22D,GAAkB,EACXF,EAAahxB,UAAUkxB,GAE3B,GA+EJ,SAASC,GACZC,EACA1nD,EACA2nD,GAgBA,OAdA,EACItD,EAAcqD,GAAiB,GAAMrD,EAAcrkD,GAAM,EACzD,0DAqWR,SACI7S,EACA6S,EACAinD,EACAW,GAEA,MAAMC,EAAiBrD,EAAkBr3D,GACnC26D,EAAetD,EAAkBxkD,GAEvC,IAAIpU,EACJ,IAAKA,EAAQ,EAAGA,EAAQi8D,EAAe/8D,QAAUc,EAAQk8D,EAAah9D,SAGvC,IAAVc,EAAc+3D,EAA+BsD,GAFxCW,EAAqBC,EAAej8D,IACtCg8D,EAAqBE,EAAal8D,KAFoBA,KAS9E,GAAc,IAAVA,EACA,OAAOk8D,EAGX,MAAMhD,EAAagD,EAAap6D,MAAM9B,GAChCmU,EAAqB,GAC3B,KAAOnU,EAAQi8D,EAAe/8D,OAAQc,IAClCmU,EAAS5U,KAAK,MAElB,MAAO,CAAC,MAAO4U,KAAa+kD,GA5XLiD,CACnBL,EACA1nD,EAH2D,kBAArC2nD,GAAiDA,EAI1DhE,EAA+BC,EALA,mBAArC+D,EAAkDA,EAAmC/J,GAe7F,SAASoK,GAA0BrzD,EAAWnG,GACjD,OAAOy5D,GAAmBtzD,EAAGnG,EAAGg1D,GAM7B,SAAS0E,GAA4BvzD,EAAWnG,GACnD,OAAOy5D,GAAmBtzD,EAAGnG,EAAG80D,GAG7B,SAAS4B,GAAiCd,GAC7C,OAAK+D,GAA8B/D,GAI5BA,EAHIA,EAAa,MAMrB,SAAS+D,GAA8B/D,GAC1C,GAA0B,IAAtBA,EAAWt5D,OACX,OAAO,EAGX,MAAMksC,EAAKotB,EAAWz5D,WAAWy5D,EAAWt5D,OAAS,GACrD,OAAc,KAAPksC,GAA4B,KAAPA,EAGzB,SAASqwB,GAAgCjD,GAC5C,OAAK+D,GAA8B/D,GAG5BA,EAAWtyD,OAAO,EAAGsyD,EAAWt5D,OAAS,GAFrCs5D,EAKR,SAASgE,GAAiBC,EAAkBC,GAAoB,GACnE,IAAKA,EACD,OAAO,UAAaD,GAIxB,MAAME,GADNF,EAAWG,GAAYH,IACQ18D,QAAQ,KACvC,OAAO08D,EAASv2D,OAAOy2D,GAGpB,SAASC,GAAYpE,GACxB,OAAO,WAAcA,GAGlB,SAASqE,GAAmBJ,EAAkBC,GAAoB,GACrE,MAAM7xD,EAAM2xD,GAAiBC,EAAUC,GACvC,OAAOD,EAASv2D,OAAO,EAAGu2D,EAASv9D,OAAS2L,EAAI3L,QAG7C,SAASw7D,GAAclC,GAC1B,OAAOM,EAAiB,YAAeN,IAGpC,SAASsE,GAAYhD,EAAgB7mD,G,QACxC,OAAuC,QAAhC,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE6pD,qBAAa,SAGpC,SAASE,GAAOlD,EAAgB7mD,G,QACnC,OAAkC,QAA3B,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE+pD,gBAAQ,SAG/B,SAASD,GAAQjD,EAAgB7mD,GACpC,IACI,OAAO6mD,EAAGmD,SAAShqD,GACrB,MAAO9K,GACL,QAID,SAAS+0D,GAAYpD,EAAgB7mD,GACxC,IACI,OAAO6mD,EAAGqD,aAAalqD,GACzB,MAAO9K,GACL,QAID,SAASi1D,GAAqBtD,EAAgB7mD,GACjD,IACI,OAAOoqD,GAAmCvD,EAAGwD,mBAAmBrqD,GAAQ,KAAM6mD,EAAI7mD,GACpF,MAAO9K,GACL,MAAO,CAAEo1D,MAAO,GAAIC,YAAa,KAKlC,SAASH,GACZI,EACA3D,EACA7mD,GAEA,MAAM6Z,EAAU2wC,EAAWC,MAAK,CAAC30D,EAAGnG,IAC5BmG,EAAEwH,KAAO3N,EAAE2N,MACH,EACDxH,EAAEwH,KAAO3N,EAAE2N,KACX,EAEA,IAGTgtD,EAAkB,GAClBC,EAAwB,GAC9B,IAAK,MAAMG,KAAS7wC,EAGhB,GAAmB,MAAf6wC,EAAMptD,MAA+B,OAAfotD,EAAMptD,KAIhC,GAAIotD,EAAMX,SACNO,EAAMh+D,KAAKo+D,EAAMptD,WACd,GAAIotD,EAAMb,cACbU,EAAYj+D,KAAKo+D,EAAMptD,WACpB,GAAIotD,EAAMC,iBAAkB,CAC/B,MACMC,EAAOd,GAAQjD,EADHG,GAAahnD,EAAM0qD,EAAMptD,QAEvCstD,aAAI,EAAJA,EAAMb,UACNO,EAAMh+D,KAAKo+D,EAAMptD,OACVstD,aAAI,EAAJA,EAAMf,gBACbU,EAAYj+D,KAAKo+D,EAAMptD,MAInC,MAAO,CAAEgtD,QAAOC,eA6Fb,SAASM,GAAYC,EAAkBC,GAC1C,IAAIC,EAxFD,SAAiCF,EAAkBC,GACtD,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAEnCE,EAAmBC,KACnBC,EAA8B,IAAIF,MAAqBA,QAAuBA,SAC9EG,EAA2B,IAAIC,OAAO,WAAWJ,KAAqB,KAGxEzE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGvE,IAAIsE,EAAe,GACfQ,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EACA,OAAdP,EACA6E,GAAgBK,GAEXG,IACDrF,EAAYgF,EAAmBhF,GAGnC6E,GAAgB7E,EAAUvvD,QAAQ00D,GAA2B5I,GAC3C,MAAVA,EACO,KAAKyI,MACK,MAAVzI,EACA,KAAKyI,KAGL,KAAOzI,IAItB8I,GAAiB,GAIzB,OAAOR,EA6CYS,CAAwBX,EAAUC,GAErDC,EAAe,KAAKA,QADKI,QAGzB,MAAMhE,EAAS,IAAImE,OAAOP,GAG1B,MAAO,CACH7D,aAjDD,SAAyB2D,EAAkBC,GAC9C,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAOzC,GAJIvE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGzC,IAA1BA,EAAez6D,SAAiBy6D,EAAe,GAC/C,OAAO,MAGX,IAAIS,EAAe,GACfqE,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EAAgB,CAClC,GAAkB,OAAdP,EACA,MAEA,GAAIA,EAAUzD,MAAM,QAChB,MAGC8I,IACDrF,EAAY,MAAWA,GAG3BgB,GAAgBhB,EAChBqF,GAAiB,EAIzB,OAAOrE,EAScuE,CAAgBZ,EAAUC,GAI3C3D,UAID,SAASgE,KAEZ,MAAoB,MAAb,MAAmB,IAAM,OAc7B,SAASO,GAAe3rD,GAC3B,MAAM8lD,EAAaN,EAAcxlD,GACjC,OAAO8lD,EAAa,GAAKA,IAAe9lD,EAAK/T,OAIjD,SAASm9D,GAAmBtzD,EAAWnG,EAAWi8D,GAC9C,GAAI91D,IAAMnG,EACN,OAAO,EAEX,QAAUI,IAAN+F,EACA,SAEJ,QAAU/F,IAANJ,EACA,OAAO,EAKX,MAAMk8D,EAAQ/1D,EAAE2hC,UAAU,EAAG+tB,EAAc1vD,IACrCg2D,EAAQn8D,EAAE8nC,UAAU,EAAG+tB,EAAc71D,IACrCshB,EAASwzC,EAA8BoH,EAAOC,GACpD,GAAe,IAAX76C,EACA,OAAOA,EAIX,MAAMk6C,EAAmBC,KACnBW,EAA4B,IAAIR,OAAO,MAAMJ,cAA6BA,MAI1Ea,EAAQl2D,EAAE2hC,UAAUo0B,EAAM5/D,QAC1BggE,EAAQt8D,EAAE8nC,UAAUq0B,EAAM7/D,QAChC,IAAK8/D,EAA0B9jB,KAAK+jB,KAAWD,EAA0B9jB,KAAKgkB,GAC1E,OAAOL,EAAkBI,EAAOC,GAKpC,MAAMC,EAAcvG,EAAkB7vD,GAChCq2D,EAAcxG,EAAkBh2D,GAChCy8D,EAAer4D,KAAKC,IAAIk4D,EAAYjgE,OAAQkgE,EAAYlgE,QAC9D,IAAK,IAAIV,EAAI,EAAGA,EAAI6gE,EAAc7gE,IAAK,CACnC,MAAM0lB,EAAS26C,EAAkBM,EAAY3gE,GAAI4gE,EAAY5gE,IAC7D,GAAe,IAAX0lB,EACA,OAAOA,EAIf,OP/sBG,SAAuBnb,EAAuBnG,GACjD,OAAOsvD,EAAwBnpD,EAAGnG,GO8sB3B,CAAcu8D,EAAYjgE,OAAQkgE,EAAYlgE,QAoBzD,SAASo8D,GACLroD,EACAsoD,EACAF,GAKA,GAHKE,EAAU7B,WAAW,OACtB6B,EAAY,IAAMA,GAElBtoD,EAAK/T,QAAUq8D,EAAUr8D,QAA8D,KAApD+T,EAAKlU,WAAWkU,EAAK/T,OAASq8D,EAAUr8D,QAAyB,CACpG,MAAMogE,EAAgBrsD,EAAKnR,MAAMmR,EAAK/T,OAASq8D,EAAUr8D,QACzD,GAAIm8D,EAAuBiE,EAAe/D,GACtC,OAAO+D,GA2DZ,SAASC,GAAiBzF,EAAgB0F,GAC7C,OAAO1F,EAAG2F,kBAGP,SAA4BD,GAE/B,IAAIE,EAAgBhF,GADR1G,EAAIn+C,MAAM2pD,GACgBvsD,MAQtC,OAJIysD,EAAc/J,MAAM,oBACpB+J,EAAgBA,EAAcx5D,OAAO,IAGlCw5D,EAbqBC,CAAmBH,IAgB5C,SAAS,GAAiB1F,EAAgB7mD,GAC7C,OAAO6mD,EAAG8F,OAAO9F,EAAG+F,oBAAoB5sD,IAMrC,SAAS6sD,GAAkBhG,EAAgB7mD,GAC9C,OAOG,SAAmC6mD,GACtC,YAA2B92D,IAAvBk1D,IAIJA,EAIG,SAA2C4B,GAC9C,IAAIiG,EACJ,IAEI,IAAIxvD,EACAyvD,EACJ,GACIzvD,EAAO,GAAGmmD,EAAe,QACzBqJ,EAAW,OAAUjG,EAAGmG,SAAU1vD,GAClCyvD,EAAkB,OAAUlG,EAAGmG,SAAU1vD,EAAKonD,qBACzCmC,EAAGI,WAAW6F,IAAajG,EAAGI,WAAW8F,IAKlD,OAHAlG,EAAGoG,cAAcH,EAAU,GAAI,SAGvBjG,EAAGI,WAAW8F,GACxB,MAAO73D,GACL,OAAO,E,QAEH43D,GAEAjG,EAAGqG,WAAWJ,IAzBDK,CAAkCtG,IAH5C5B,EATPmI,CAA0BvG,GACnB7mD,EAGJA,EAAKjP,cCj4BhB,IAAYs8D,IAAZ,SAAYA,GAIR,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,uBACA,uBAfJ,CAAYA,QAAa,KAkBlB,MAAMC,GAA4BD,GAAcE,MAEhD,SAASC,GAAgB/+C,GAG5B,MAAO,GAFeA,GAAW,EAAK,OACP,IAAVA,IAIlB,SAASg/C,GAAkBC,GAC9B,MAAMlvD,EAAQkvD,EAAUlvD,MAAM,KAC9B,KAAIA,EAAMvS,OAAS,GAOnB,OAGG,SAA+B0hE,EAAeC,GACjD,GAAIhuD,MAAM+tD,IAAU/tD,MAAMguD,GACtB,OAGJ,GAAID,EAAQ,KAAOC,EAAQ,IACvB,OAGJ,MAAMr/D,EAAgB,IAARo/D,EAAcC,EAC5B,QAA6B79D,IAAzBs9D,GAAc9+D,IAKRA,GAQQ,GAAM,EAJxB,OAAOA,EAtBAs/D,CAHc76D,SAASwL,EAAM,GAAI,IACnBxL,SAASwL,EAAM,GAAI,KC3B5C,IAAKsvD,IAAL,SAAKA,GAED,6CAGA,iDAGA,uCAIA,qCAZJ,CAAKA,QAAY,KAgBjB,MAAMC,GAA+B,IAC/BC,GAA2C,IAAIrhE,MAAMohE,IAIrDE,GAAsC,GAGtCC,GAAyD,GAG/D,IAAIC,IAAgC,EAE7B,SAASC,GAAsBjxB,EAAcsN,GAChD,GAAItN,EAAO4wB,GACP,OAAOC,GAAyB7wB,KAAU2wB,GAAaO,oBAS3D,IAAIC,EAOJ,OAZKH,KACDI,IAA4B,GAC5BJ,IAAgC,GAKhCG,OADav+D,IAAb06C,EACe+jB,GAAiBrxB,EAAMsN,GAEvBwjB,GAAmB9wB,GAG/BmxB,IAAiBR,GAAaO,oBAGlC,SAASI,GAAiBtxB,EAAcsN,GAC3C,OAAItN,EAAO4wB,GAEHC,GAAyB7wB,KAAU2wB,GAAaO,qBAChDL,GAAyB7wB,KAAU2wB,GAAaY,gBAKnDP,KACDI,IAA4B,GAC5BJ,IAAgC,QAGnBp+D,IAAb06C,EACO+jB,GAAiBrxB,EAAMsN,GAI9BwjB,GAAmB9wB,KAAU2wB,GAAaO,qBAC1CJ,GAAmB9wB,KAAU2wB,GAAaY,gBA8B3C,SAASC,GAAUx2B,GACtB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAASy2B,GAAMz2B,GAClB,OAAOw2B,GAAUx2B,IAAQA,GAAM,IAAUA,GAAM,KAAYA,GAAM,IAAUA,GAAM,IAAkB,KAAPA,EAGzF,SAAS02B,GAAQ12B,GACpB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAAS22B,GAAS32B,GACrB,OAAc,KAAPA,GAAyB,KAAPA,GAAyB,KAAPA,EAG/C,SAASq2B,GAAiBrxB,EAAcsN,GACpC,GAAIwjB,GAAmB9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ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,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR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,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0E+B,CACxC,CAAC,GAAI,IACL,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SAuC+B,CAAC,GAAI,CAAC,KAAM,MAAO,KAAM,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,QDxqF/FC,GAAiC,CCouEuB,CAC1D,MAAO,CAAC,MAAO,MAAO,CAAC,MAAO,QAC9B,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvF,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,MAAO,CAAC,MAAO,OAAQ,OAC/B,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,QAC9E,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SAsK0C,CAC1D,MAAO,CACH,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CACH,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QAC1F,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,SA8D8C,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,UD/pFpB,SAASC,GACLzwD,EACA0wD,EACAC,EACAC,EACAC,GAEA,IAAK,IAAIC,EAAa,EAAGA,EAAa9wD,EAAM5S,OAAQ0jE,IAAc,CAC9D,MAAMjF,EAAQ7rD,EAAM8wD,GACpB,IAAIC,EACAC,EAEAljE,MAAMuD,QAAQw6D,IACdkF,EAAalF,EAAM,GACnBmF,EAAWnF,EAAM,IAEjBkF,EAAaC,EAAWnF,EAG5B,IAAK,IAAIn/D,EAAIqkE,EAAYrkE,GAAKskE,EAAUtkE,IAChCA,EAAIwiE,GACJ0B,EAAUlkE,GAAKgkE,EAEfG,EAAUnkE,GAAKgkE,EAIvB,GAAIC,GAAiBI,GAAc7B,GAC/B,OAKZ,SAAS+B,GACLb,EACAM,GAEA,IAAK,MAAMQ,KAAiBd,EACnBf,GAAkB6B,KACnB7B,GAAkB6B,GAAiB,GACnC9B,GAAmB8B,GAAiBjC,GAAaiB,eAGrDO,GACIL,EAAec,GACfR,GACoB,EACpBrB,GAAkB6B,GAClB7B,GAAkB6B,IAM9B,SAASxB,GAA4BiB,GAyBjC,GAxBAxB,GAAyBt4D,KAAKo4D,GAAakB,mBAE3CI,GAAsB74C,SAAS1X,IAC3BywD,GACIzwD,EACAivD,GAAaY,eACbc,EACAxB,GACAC,OAIRiB,GAA2B34C,SAAS1X,IAChCywD,GACIzwD,EACAivD,GAAaO,oBACbmB,EACAxB,GACAC,QAMHuB,EAAe,CAChB,IAAK,MAAMP,KAAkBI,GACzBS,GAAmDb,EAAgBnB,GAAaY,gBAGpF,IAAK,MAAMO,KAAkBE,GACzBW,GAAmDb,EAAgBnB,GAAaO,sBEpQrF,SAAS2B,GAAeC,EAAwB1J,GACnD,IAAK0J,EAAWhJ,WAAWV,KAAasD,GAAYoG,EAAY1J,GAC5D,OAGJ,IAAI2J,GAAmB,EACvB,MAAMC,EAAcnJ,GAAaT,EARZ,YAUrB,IAAK0J,EAAWhJ,WAAWV,KAAawD,GAAOkG,EAAYE,GACvD,OAIJ,MAAMC,EAAYH,EAAWjG,SAASmG,GAItC,GAAIC,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,MAAW,CAClD,MAAM8/D,EAAkBJ,EAAWK,aAAaH,EAAa,SAKzDE,EAAgB3N,MAAM,cAAgB2N,EAAgB3N,MAAM,kBAC5DwN,GAAmB,GAI3B,MAAO,CACHC,cACAD,oBC6CD,SAASK,GAA0B/I,GACtC,MAAMgJ,EAAkBhJ,EAAMzyC,KAAKtR,GAAMA,EAAE1S,gBAC3C,OAAQiP,IACJ,IAAKA,GAAQA,EAAKlT,QAAQ,gBAAkB,EACxC,OAAO,EAEX,MAAM84D,EAAiB5lD,EAAKjP,cAC5B,OAAOy/D,EAAgBx4C,OAAOvU,GAAMmiD,EAAe94D,QAAQ2W,GAAK,KHuLxE8qD,IAA4B,GGnL5B,MAAMkC,GAA+B,CACjCnpD,WAKSopD,GAA+C,CACxDC,kBAAiB,CAACC,EAAcC,IACrBJ,GAEXK,aAAaF,EAA0BC,MAKpC,MAAME,GACT7zD,YAAmBI,EAAsB0zD,GAAtB,KAAA1zD,OAAsB,KAAA0zD,QAEzCjH,SACI,OAAO94D,KAAK+/D,MAGhBnH,cACI,OAAQ54D,KAAK+/D,MAGjBC,gBACI,OAAO,EAGXC,oBACI,OAAO,EAGXvG,iBACI,OAAO,EAGXwG,SACI,OAAO,EAGXC,WACI,OAAO,GC1HR,MAAMC,WCHN,MAUHn0D,YAAsBo0D,GAAA,KAAAA,UARL,KAAAC,UAAY,IAAIxiD,IAGhB,KAAAyiD,iBAAmB,IAAIziD,IAGvB,KAAA0iD,WAAa,IAAI1iD,IAIlCk4C,WAAWjnD,GACP,OAAI/O,KAAKygE,cAAc1xD,IAKhB/O,KAAKqgE,QAAQrK,WAAWh2D,KAAK0gE,iBAAiB3xD,IAGzDknD,UAAUlnD,EAAcqF,GACpB,MAAM,IAAIxY,MAAM,6BAGpB+kE,MAAM5xD,GACF,MAAM,IAAInT,MAAM,6BAGpBw9D,mBAAmBrqD,GACf,MAAM6xD,EAAiBxL,GAAiCrmD,GAElD6Z,EAAuB,GACvBi4C,EAAe7gE,KAAKwgE,WAAWj8D,IAAIq8D,GAUzC,OATKC,IAAgB7gE,KAAKqgE,QAAQrK,WAAWjnD,IACzC6Z,EAAQvtB,QACD2E,KAAKqgE,QAAQjH,mBAAmBrqD,GAAM85C,QAAQ7gC,IAErChoB,KAAKygE,cAAc1K,GAAahnD,EAAMiZ,EAAK3b,UAK1Dw0D,EAIEj4C,EAAQ5jB,OAAO67D,EAAa/8C,KAAK7f,GAAM,IAAI67D,GAAc77D,EAAEoI,KAAMpI,EAAE60D,WAH/DlwC,EAMfk4C,YAAY/xD,GACR,OAAO/O,KAAKo5D,mBAAmBrqD,GAAM+U,KAAKtR,GAAMA,EAAEnG,OAKtDgzD,aAAatwD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQhB,aAAar/D,KAAK0gE,iBAAiB3xD,GAAOvR,GAGlEw+D,cAAcjtD,EAAc7P,EAAuB1B,GAC/C,MAAM,IAAI5B,MAAM,6BAGpBm9D,SAAShqD,GACL,OAAO/O,KAAKqgE,QAAQtH,SAAS/4D,KAAK0gE,iBAAiB3xD,IAGvDktD,WAAWltD,GACP,MAAM,IAAInT,MAAM,6BAGpBq9D,aAAalqD,GACT,OAAI/O,KAAKsgE,UAAUl8C,IAAIrV,GACZA,EAGJ/O,KAAKqgE,QAAQpH,aAAalqD,GAGrCgyD,gBACI,OAAO/gE,KAAKqgE,QAAQU,gBAGxBC,wBAAwBzK,EAAiB1gD,GACrC,OAAO7V,KAAKqgE,QAAQW,wBAAwBzK,EAAO1gD,GAGvDorD,iBAAiBlyD,GACb,OAAO/O,KAAKqgE,QAAQY,iBAAiBjhE,KAAK0gE,iBAAiB3xD,IAG/DmyD,kBAAkBnyD,GACd,MAAM,IAAInT,MAAM,6BAGpBulE,aAAa1zD,EAAaC,GACtB,MAAM,IAAI9R,MAAM,6BAIpBwlE,SAASryD,GACL,OAAO/O,KAAKqgE,QAAQe,SAASphE,KAAK0gE,iBAAiB3xD,IAGvDsyD,aAAatyD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQgB,aAAarhE,KAAK0gE,iBAAiB3xD,GAAOvR,GAIlEu+D,SACI,OAAO/7D,KAAKqgE,QAAQtE,SAGxBuF,QAAQltD,GACJ,OAAOpU,KAAKqgE,QAAQiB,QAAQltD,GAGhCmtD,aAAaxyD,GACT,OAAO/O,KAAKqgE,QAAQkB,aAAaxyD,GAGrC2sD,OAAO8F,GACH,OAAOxhE,KAAKqgE,QAAQ3E,OAAO8F,GAI/BC,iBAAiBC,GACb,OAAO1hE,KAAKsgE,UAAUl8C,IAAIs9C,IAAa1hE,KAAKqgE,QAAQoB,iBAAiBC,GAIzE/F,oBAAoBgG,GAChB,OAAO3hE,KAAKqgE,QAAQ1E,oBAAoB37D,KAAK0gE,iBAAiBiB,IAIlEpG,kBAAkBqG,G,MACd,MAAMD,EAAiB3hE,KAAKqgE,QAAQ9E,kBAAkBqG,GACtD,OAAgD,QAAzC,EAAA5hE,KAAKugE,iBAAiBh8D,IAAIo9D,UAAe,QAAIA,EAGxDE,aAAa9yD,GACT,OAAO/O,KAAKqgE,QAAQwB,aAAa9yD,GAG3B+yD,kBAAkBC,EAAoBP,EAAsBQ,GAAa,EAAMlJ,GAAS,GAC9F94D,KAAKsgE,UAAUn7D,IAAI48D,EAAYP,GAE3BQ,GACAhiE,KAAKugE,iBAAiBp7D,IAAIq8D,EAAcO,GAG5C,MAAM5N,EAAYiB,GAAiCf,EAAiB0N,IAC9DE,EAAajT,EAAShvD,KAAKwgE,WAAYrM,GAAW,IAAM,KAExD9nD,EAAOqsD,GAAYqJ,GACpBE,EAAWxT,MAAMgL,GAAUA,EAAMptD,OAASA,KAC3C41D,EAAW5mE,KAAK,CAAEgR,OAAMysD,WAItB4H,iBAAiBiB,G,MACvB,OAAyC,QAAlC,EAAA3hE,KAAKsgE,UAAU/7D,IAAIo9D,UAAe,QAAIA,EAGvClB,cAAc1xD,GACpB,OAAO/O,KAAKugE,iBAAiBn8C,IAAIrV,GAG3BmzD,SACNliE,KAAKsgE,UAAUz4C,QACf7nB,KAAKugE,iBAAiB14C,QACtB7nB,KAAKwgE,WAAW34C,UD7JpB5b,YAAYk2D,GACRj2D,MAAMi2D,GAZO,KAAAC,cAAgB,IAAItxB,IAGpB,KAAAuxB,yBAA2B,IAAIvxB,IAI/B,KAAAwxB,aAAe,IAAIxkD,IAEnB,KAAAykD,cAAgB,IAAIzkD,IAM5Bm4C,UAAUlnD,EAAcqF,GAC7BpU,KAAKqgE,QAAQpK,UAAUlnD,EAAMqF,GAGxBusD,MAAM5xD,GACX/O,KAAKqgE,QAAQM,MAAM5xD,GAGditD,cAAcjtD,EAAc7P,EAAuB1B,GACxDwC,KAAKqgE,QAAQrE,cAAch8D,KAAK0gE,iBAAiB3xD,GAAO7P,EAAM1B,GAGzDy+D,WAAWltD,GAChB/O,KAAKqgE,QAAQpE,WAAWj8D,KAAK0gE,iBAAiB3xD,IAGzCmyD,kBAAkBnyD,GACvB,OAAO/O,KAAKqgE,QAAQa,kBAAkBlhE,KAAK0gE,iBAAiB3xD,IAGvDoyD,aAAa1zD,EAAaC,GAC/B1N,KAAKqgE,QAAQc,aAAanhE,KAAK0gE,iBAAiBjzD,GAAMzN,KAAK0gE,iBAAiBhzD,IAGvEguD,OAAO8F,GACZ,MAAM/H,EAAQz5D,KAAKuiE,cAAch+D,IAAIvE,KAAKu7D,kBAAkBiG,IAC5D,OAAI/H,EACOA,EAAMj/B,IAGVx6B,KAAKqgE,QAAQ3E,OAAO8F,GAG/BgB,eAAelH,EAAmByG,GAC9B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,GAQhCmH,UAAUnH,EAAmByG,GACzB,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,OAAKtI,EAKDA,EAAMj/B,MAAQ8gC,IAKlB7B,EAAMiJ,QAAS,GACR,IAVH1iE,KAAKuiE,cAAcp9D,IAAI48D,EAAY,CAAEvnC,IAAK8gC,EAAWoH,QAAQ,EAAOC,mBAAmB,KAChF,GAYfC,aAAatH,EAAmByG,GAC5B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,IAIxB7B,EAAMkJ,mBACNlJ,EAAMiJ,QAAS,EACR,IAGX1iE,KAAKuiE,cAAc3/C,OAAOm/C,GACnB,KAGXc,eAAed,EAAoBY,GAC/B,MAAMlJ,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GAChCtI,IAIAkJ,IAAqBlJ,EAAMiJ,OAKhCjJ,EAAMkJ,kBAAoBA,EAJtB3iE,KAAKuiE,cAAc3/C,OAAOm/C,IAOlCe,6BAA6BC,G,MACzB,OAAO/iE,KAAKgjE,cAA0B,QAAZ,EAAAD,EAAQvxD,YAAI,QAAI,IAG9CwxD,cAAcj0D,GACV,OAAO/O,KAAKoiE,cAAch+C,IAAIrV,GAGlCk0D,2BAA2B1M,EAAiB2M,G,MACxC,IAAK,MAAMn0D,KAAQwnD,EAGf,GAFAv2D,KAAKoiE,cAAcx8C,IAAI7W,GAElB/O,KAAKqgE,QAAQrK,WAAWjnD,IAAU6pD,GAAY54D,KAAKqgE,QAAStxD,GAIjE,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAMo0D,EAAyBpN,GAAahnD,EAAM0qD,EAAMptD,MAKxD,KAJqBotD,EAAMC,iBAE0B,QAA7C,EAAAb,GAAQ74D,KAAKqgE,QAAS8C,UAAuB,eAAEvK,cADjDa,EAAMb,iBAGSa,EAAMptD,KAAK4tD,SAASvK,GACrC,SAGJ,MAAM0T,EAAcrE,GAAe/+D,KAAKqgE,QAAS8C,GACjD,IAAKC,IAAgBA,EAAYnE,iBAE7B,SAOJ,IAAIoE,EAHJrjE,KAAKqiE,yBAAyBz8C,IAAIu9C,GAIlC,MAAMG,EAAc7J,EAAMptD,KAAKrK,OAAO,EAAGy3D,EAAMptD,KAAKrR,OAAS00D,EAAY10D,QACzE,IAAK,MAAMwW,KAAQ0xD,EAAO,CACtB,MAAMK,EAAcxN,GAAavkD,EAAM8xD,GACvC,IACI,MAAM3J,EAAOd,GAAQ74D,KAAKqgE,QAASkD,GACnC,KAAK5J,aAAI,EAAJA,EAAMf,eACP,SAIJ,MAAM4K,EAAiBzE,GAAe/+D,KAAKqgE,QAASkD,GACpD,GAAIC,IAAmBA,EAAevE,iBAElC,SAIJoE,EAAeA,UAAgBrjE,KAAKyjE,6BAA6BN,GACjE,IAAK,MAAMO,KAAeL,EAAc,CACpC,MAAMM,EAAkB5N,GAAaoN,EAAwBO,GACvDE,EAAgB7N,GAAawN,EAAaG,GAEhD,GAAI1jE,KAAKg2D,WAAW4N,GAApB,CAII,MAAMC,EAAe9M,GAAmB6M,EAAe,MACjDE,EAAY/M,GACdhB,GAAa/1D,KAAK+7D,SAAU,gBAAiBuH,EAAaI,GAC1D,MAMC1jE,KAAKsiE,aAAal+C,IAAIw/C,IACtB5jE,KAAKg2D,WAAW6N,IAChB7jE,KAAKg2D,WAAW8N,KAMjB9jE,KAAK8hE,kBAAkBgC,EAAWH,GAAkC,GAIpE3jE,KAAKsiE,aAAan9D,IAAIy+D,EAAeE,SAK7C9jE,KAAK8hE,kBAAkB8B,EAAeD,IAE5C,UAQlBI,oBACI73D,MAAMg2D,SAENliE,KAAKoiE,cAAcv6C,QACnB7nB,KAAKqiE,yBAAyBx6C,QAE9B7nB,KAAKsiE,aAAaz6C,QAKtBm8C,kBAAkBtC,GACd,OAAO1hE,KAAKsiE,aAAa/9D,IAAIm9D,GAGzB+B,6BAA6B10D,GACjC,MAAMwnD,EAAkB,GAElB0N,EAAwB7O,GAAiCrmD,GAAM/T,OAC/DkpE,EAAkBn1D,IACpB,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAM8sD,EAAW9F,GAAahnD,EAAM0qD,EAAMptD,MAE1C,IAAIusD,EAAca,EAAMb,cACpBE,EAASW,EAAMX,SACnB,GAAIW,EAAMC,iBAAkB,CACxB,MAAMC,EAAOd,GAAQ74D,KAAKqgE,QAASxE,GAC/BlC,IACAf,EAAce,EAAKf,cACnBE,EAASa,EAAKb,UAQtB,GAJIF,GACAsL,EAAerI,GAGf/C,GAAUW,EAAMptD,KAAK4tD,SAAS,QAAS,CACvC,MAAMhqD,EAAW4rD,EAASr1B,UAAUy9B,GAChCh0D,GACAsmD,EAAMl7D,KAAK4U,MAO3B,OADAi0D,EAAen1D,GACRwnD,EAGQkK,cAAc1xD,GAC7B,OAAO/O,KAAKqiE,yBAAyBj+C,IAAIrV,IAAS7C,MAAMu0D,cAAc1xD,I,8DExQ9E,IAAIo1D,GAUG,MAAMC,WAAmC,GAAA5qD,cAC5CvN,cACIC,MAAM,GAAA+hB,cAAA,iBAAgC,qBAG1C,UAAUhqB,GACN,OAAOA,EAAEtI,OAAS,GAAAsyB,cAAA,kBAInB,SAAS,GAA6BjN,GAGzC,IAAKktC,KAAiBltC,EAAMnG,wBACxB,MAAM,IAAIupD,GAIX,SAASC,MAAeC,GAC3B,MAAM3iD,EAAS,IAAI,GAAAlJ,wBACbiO,EAA4B,GAElC,IAAK,MAAM1F,KAASsjD,EAChB59C,EAAYrrB,KACR2lB,EAAMlG,yBAAyB2B,IAC3BkF,EAAOpG,aAWnB,OANAmL,EAAYrrB,KACRsmB,EAAOX,MAAMlG,yBAAyB2B,IAClCiK,EAAYpB,SAAS/W,GAAMA,EAAE6M,gBAI9BuG,EAGJ,MAAM4iD,GACT/nD,gCACI,OAAO,IAAI,GAAA/D,yBCtDZ,IAAU+rD,GA+EA/rC,GAgBAC,GC7EL+rC,GD8FL,SAASC,GAAiB7/D,EAAanG,GAC1C,OAAImG,EAAEq1B,KAAOx7B,EAAEw7B,MACH,EACDr1B,EAAEq1B,KAAOx7B,EAAEw7B,KACX,EACAr1B,EAAEs1B,UAAYz7B,EAAEy7B,WACf,EACDt1B,EAAEs1B,UAAYz7B,EAAEy7B,UAChB,EAEJ,EAmBJ,SAASwqC,GAAkB9/D,EAAUnG,GACxC,QAAIgmE,GAAiBhmE,EAAE5C,MAAO+I,EAAE9I,KAAO,GAE5B2oE,GAAiB7/D,EAAE/I,MAAO4C,EAAE3C,KAAO,GAM3C,SAAS6oE,GAAiBn4D,EAAco4D,GAC3C,OAAIpsC,GAASlkB,GAAGswD,GACLH,GAAiBj4D,EAAM3Q,MAAO+oE,IAAoB,GAAKH,GAAiBj4D,EAAM1Q,IAAK8oE,IAAoB,EAG3GD,GAAiBn4D,EAAOo4D,EAAgB/oE,QAAU8oE,GAAiBn4D,EAAOo4D,EAAgB9oE,KAG9F,SAAS+oE,GAAkBjgE,EAAanG,GAC3C,OAAkC,IAA3BgmE,GAAiB7/D,EAAGnG,GAGxB,SAASqmE,GAAelgE,EAAUnG,GACrC,OAAOomE,GAAkBjgE,EAAE/I,MAAO4C,EAAE5C,QAAUgpE,GAAkBjgE,EAAE9I,IAAK2C,EAAE3C,KAkBtE,SAASipE,GAAYv4D,EAAc4qD,GAClCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfsgD,GAAYv4D,EAAOiY,OAGnBggD,GAAiBrN,EAAUv7D,MAAO2Q,EAAM3Q,OAAS,IACjD2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB4oE,GAAiBrN,EAAUt7D,IAAK0Q,EAAM1Q,KAAO,IAC7C0Q,EAAM1Q,IAAMs7D,EAAUt7D,OEhM/B,SAASkpE,GAAwBvjE,EAAgB8lD,GAEpD,GAAkB,IAAdA,EAAMzrD,IACN,MAAO,CACHm+B,KAAM,EACNC,UAAW,GAKnB,IAAI+qC,EAAmB,EACnBxjE,GAAU8lD,EAAMzrD,MAChB2F,EAAS8lD,EAAMzrD,IAAM,EACrBmpE,EAAmB,GAGvB,MAAMC,EAAY3d,EAAM4d,kBAAkB1jE,GAC1CowD,EAAOqT,GAAa,GAAKA,GAAa3d,EAAMxsD,QAC5C,MAAMqqE,EAAY7d,EAAM8d,UAAUH,GAElC,OADArT,OAAqBhzD,IAAdumE,GACA,CACHnrC,KAAMirC,EACNhrC,UAAWz4B,EAAS2jE,EAAUvpE,MAAQopE,GAKvC,SAASK,GACZj/B,EACAC,EACAihB,GAIA,MAAO,CAAE1rD,MAFKmpE,GAAwB3+B,EAAakhB,GAEnCzrD,IADJkpE,GAAwB1+B,EAAWihB,IAK5C,SAAS,GAAwB/qB,EAAoB+qB,GACxD,KAAI/qB,EAASvC,MAAQstB,EAAMx7B,OAI3B,OAAOw7B,EAAM8d,UAAU7oC,EAASvC,MAAMp+B,MAAQ2gC,EAAStC,UAGpD,SAASqrC,GAAwB/4D,EAAc+6C,GAClD,MAAM1rD,EAAQ,GAAwB2Q,EAAM3Q,MAAO0rD,GACnD,QAAc1oD,IAAVhD,EACA,OAGJ,MAAMC,EAAM,GAAwB0Q,EAAM1Q,IAAKyrD,GAC/C,YAAY1oD,IAAR/C,EAIGyoE,GAAUiB,WAAW3pE,EAAOC,QAJnC,EAOG,SAAS2pE,GAAwBj5D,EAAkB+6C,GACtD,OAAO+d,GAAsB94D,EAAM3Q,MAAO0oE,GAAUmB,OAAOl5D,GAAQ+6C,IF9DvE,SAAiBgd,GACb,SAAgBryD,EAAOrW,EAAed,GAClC,GAAIc,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIZ,EAAS,EACT,MAAM,IAAIY,MAAM,+BAEpB,MAAO,CAAEE,QAAOd,UAapB,SAAgB2qE,EAAOl5D,GACnB,OAAOA,EAAM3Q,MAAQ2Q,EAAMzR,OAW/B,SAAgB4qE,EAASn5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,GAAYkpC,EAAOl5D,GAOzD,SAAgBo5D,EAAOp5D,EAAkB4qD,GACjCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfmhD,EAAOp5D,EAAOiY,OAGd2yC,EAAUv7D,MAAQ2Q,EAAM3Q,QACxB2Q,EAAMzR,QAAUyR,EAAM3Q,MAAQu7D,EAAUv7D,MACxC2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB6pE,EAAOtO,GAAasO,EAAOl5D,KAC3BA,EAAMzR,QAAU2qE,EAAOtO,GAAasO,EAAOl5D,MArD3C,EAAA0F,OAAM,EAUN,EAAAszD,WAAhB,SAA2B3pE,EAAeC,GACtC,GAAID,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIE,EAAQC,EACR,MAAM,IAAIH,MAAM,8CAEpB,OAAOuW,EAAOrW,EAAOC,EAAMD,IAGf,EAAA6pE,OAAM,EAIN,EAAAG,SAAhB,SAAyBr5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,EAAWkpC,EAAOl5D,IAGxC,EAAAs5D,cAAhB,SAA8Bt5D,EAAkBu5D,GAC5C,OAAOA,EAAKlqE,OAAS2Q,EAAM3Q,OAAS6pE,EAAOK,IAASL,EAAOl5D,IAG/C,EAAAm5D,SAAQ,EAIR,EAAAK,cAAhB,SAA8Bx5D,EAAkB+pC,GAC5C,OAAOovB,EAASn5D,EAAO+pC,EAAM16C,QAAU8pE,EAASpvB,EAAO/pC,EAAM3Q,QAGjD,EAAA+pE,OAAM,EAmBN,EAAAhzB,QAAhB,SAAwBqzB,GACpB,GAAsB,IAAlBA,EAAOlrE,OACP,OAGJ,MAAMmrE,EAAgBD,EAAO,GAC7B,IAAK,IAAI5rE,EAAI,EAAGA,EAAI4rE,EAAOlrE,OAAQV,IAC/BurE,EAAOM,EAAeD,EAAO5rE,IAEjC,OAAO6rE,GArEf,CAAiB3B,QAAS,KA+E1B,SAAiB/rC,GACG,EAAAlkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAgC,IAAnBA,EAAUkf,WAA2C,IAAxBlf,EAAUmf,WAG/C,EAAAisC,MAAhB,SAAsB9oE,GAClB,MAAO,IAAIA,EAAM48B,QAAQ58B,EAAM68B,cAPvC,CAAiB1B,QAAQ,KAgBzB,SAAiBC,GACG,EAAAnkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAiC,IAApBA,EAAUlf,YAAsC,IAAlBkf,EAAUjf,KAGhD,EAAAqqE,MAAhB,SAAsB9oE,GAClB,MAAO,GAAGm7B,GAAS2tC,MAAM9oE,EAAMxB,UAAU28B,GAAS2tC,MAAM9oE,EAAMvB,QAPtE,CAAiB28B,QAAK,KC7EtB,SAAY+rC,GACR,iCACA,qBACA,iCACA,6BACA,gCACA,wBACA,wCACA,uCACA,yCACA,sBACA,0CACA,oCACA,mDACA,mDACA,mDACA,sDACA,gDACA,4CAlBJ,CAAYA,QAAS,KAqBrB,IAAI4B,GAAkB,EAIf,SAASC,KACZ,OAAOD,KA4GJ,SAASE,GAAgCC,GAC5C,GAA2B,KAAvBA,EAAUC,SACV,OAAO,EAGX,GAA2B,KAAvBD,EAAUC,SACV,OAAOF,GAAgCC,EAAUE,gBAGrD,GAA2B,KAAvBF,EAAUC,SAAkC,CAG5C,GAC+B,IAA3BD,EAAUzjC,MAAM/nC,QAChBwrE,EAAUG,oBACkB7nE,IAA5B0nE,EAAUzjC,MAAM,GAAG12B,MACqB,IAAxCm6D,EAAUzjC,MAAM,GAAG6jC,iBAEnB,OAAO,EAGX,MAAMC,EAAgBL,EAAUzjC,MAAM,GAAG+jC,gBACnCC,EACyB,KAA3BF,EAAcJ,WAAsCI,EAAcG,aAAeH,EAAc35D,UAC7F+5D,EACyB,KAA3BJ,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAE7B,SAAKM,IAAmBE,IAIjBV,GAAgCC,EAAUW,gBAGrD,OAAO,EAGJ,SAASC,GAAsBZ,GAClC,IAAIxkD,EACJ,GAA2B,KAAvBwkD,EAAUC,SACVzkD,EAAMwkD,EAAUlpE,WACb,GAA2B,KAAvBkpE,EAAUC,SAEjBzkD,EAAM,GADUolD,GAAsBZ,EAAUE,mBAC5BF,EAAUa,WAAW/pE,aACtC,GAA2B,KAAvBkpE,EAAUC,SAAkC,CACnD,MAAMa,EAAUF,GAAsBZ,EAAUW,gBAEhD,GADArV,EAAkC,IAA3B0U,EAAUzjC,MAAM/nC,QAC6B,KAAhDwrE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SACnCzkD,EAAM,GAAGslD,KAAYd,EAAUzjC,MAAM,GAAG+jC,gBAA+BxpE,MAAMkC,mBAC1E,GAAoD,KAAhDgnE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CACjF,MAAMc,EAAUf,EAAUzjC,MAAM,GAAG+jC,gBACnChV,EAAkC,IAA3ByV,EAAQL,QAAQlsE,QAAgD,KAAhCusE,EAAQL,QAAQ,GAAGT,UAC1DzkD,EAAM,GAAGslD,MAAaC,EAAQL,QAAQ,GAAkB5pE,eAExD40D,EAAK,6DAGTA,EAAK,6DAGT,OAAOlwC,EAGJ,SAASwlD,GAAqChB,GACjD,OAA2B,KAAvBA,EAAUC,SACH,CAACW,GAAsBZ,IAGP,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUE,gBAClDU,GAAsBZ,IAIH,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUW,gBAClDC,GAAsBZ,SAI9BtU,EAAK,6DEhKF,SAASuV,GAAcC,GAE1B,OADqBA,EACDC,WAQjB,SAASC,GAASF,GAErB,OADqBA,EACDG,MAGjB,SAASC,GAASJ,EAAiBG,GACjBH,EACRG,MAAQA,EAGlB,SAASE,GAAeL,GAE3B,OADqBA,EACDM,YAGjB,SAASC,GAAeP,EAAiBQ,GACvBR,EACRM,YAAcE,EAGxB,SAASC,GAAYT,GAExB,OADqBA,EACDU,SAGjB,SAASC,GAAYX,EAAiBU,GACpBV,EACRU,SAAWA,EAQrB,SAASE,GAAiBZ,EAAiBU,GACzBV,EACRa,cAAgBH,EAG1B,SAAS,GAAYV,GACxB,KAAyB,KAAlBA,EAAKjB,UACRiB,EAAOA,EAAKviC,OAGhB,OADqBuiC,EACDc,SAajB,SAASC,GAAuBf,EAA0BgB,GACxChB,EACRiB,oBAAsBD,EAahC,SAASE,GAAiBlB,GAE7B,OADqBA,EACDmB,cAGjB,SAASC,GAAiBpB,EAAkBqB,GAC1BrB,EACRmB,cAAgBE,EAG1B,SAASC,GAAkBtB,GAC9B,IAAIuB,EAAiCvB,EAIrC,KAAOuB,GAAS,CACZ,MAAMb,EAAWD,GAAYc,GAC7B,GAAIb,EACA,SAAUA,EAASc,MAAQzE,GAAU0E,aAEzCF,EAAUA,EAAQ9jC,OAGtB,OAAO,EC3LX,MAAMikC,GAAiB,eACjBC,GAAuB,SACvBC,GAAkB,6BAGjB,SAAS,GAAcj9D,GAC1B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,QAAUnpD,EAAK4tD,SAAS,MAI/D,SAAS,GAAgB5tD,GAC5B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAKmpD,WAAW,MAGhE,SAAS+T,GAAyBl9D,GACrC,OAAO,GAAcA,IAAS,GAAgBA,GAI3C,SAASm9D,GAAan9D,GACzB,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAK4tD,SAAS,MAS9D,SAASwP,GAAep9D,GAC3B,QAASA,EAAKolD,MAAM2X,MAAoB/8D,EAAKolD,MAAM4X,IAIhD,SAASK,GAAgBr9D,GAC5B,QAASA,EAAKolD,MAAM6X,ICgCjB,SAASK,GAAeC,GAC3B,OAAIA,EAAUC,aACgC,IAAtCD,EAAUC,aAAaC,WAChB,EAE+B,IAAtCF,EAAUC,aAAaC,YACvBF,EAAUC,aAAaE,mBAEhB,EAGPH,EAAUC,aAAaG,WAChB,EAGJ,EAEA,EAoBR,SAASC,GAAmBC,EAAuBC,GAAyB,GAC/E,MAAMC,EAAiC,CACnCC,eAAgB,GAChBC,cAAe,IAAIxsD,KAGvB,IAAIysD,GAA4B,EAC5BC,GAA4B,EA2BhC,OAzBAN,EAAUO,WAAWnlD,SAASskD,IACC,KAAvBA,EAAUnD,SACVmD,EAAUa,WAAWnlD,SAASolD,IACI,KAA1BA,EAAajE,UACb+D,GAA4B,EAsehD,SAA4B9C,EAAkB0C,EAAgCG,GAC1E7C,EAAKziE,KAAKqgB,SAASqlD,IACf,MAAMd,EAAe,GAA+Bc,EAAa74D,QACjE,IAAInC,EAEAk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAGlF,MAAM8vE,EAA+B,CACjCpD,OACAqD,QAASJ,EACTd,eACAl6D,eACAq7D,WAAYC,GAAkBN,EAAa74D,QAC3Cy4D,6BAGJH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,IAIKy6D,EAAaE,cAAclmD,IAAIzU,IAChCy6D,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,OA/fzCI,CAAmBR,EAAcN,EAAcG,GAC/CA,GAA4B,GACK,KAA1BG,EAAajE,UACpB+D,GAA4B,EAkgBhD,SACI9C,EACA0C,EACAG,EACAJ,G,MAEA,MAAMN,EAAe,GAA+BnC,EAAK51D,QACzD,IAAInC,EAMJ,GAJIk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAG9EmvE,GAA0BN,EAAc,CACxCO,EAAae,gBAA8C,QAA5B,EAAAf,EAAae,uBAAe,QAAI,IAAIrtD,IAEnE,IAAK,MAAMstD,KAAkBvB,EAAasB,gBAAiB,CACvD,MAAME,EAAe3D,EAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAU8tE,EAAe/+D,OAC1Eg/D,GACAjB,EAAae,gBAAgBhmE,IAAIimE,EAAer8D,KAAMs8D,IAKlE,MAAMP,EAA+B,CACjCpD,OACAmC,eACAl6D,eACAq7D,WAAYC,GAAkBvD,EAAK51D,QACnCy4D,6BAMJ,GAHAH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,EAAc,CACd,MAAM67D,EAAYpB,EAAaE,cAAc/lE,IAAIoL,KAK5C67D,GAC2B,KAA5BA,EAAU9D,KAAKjB,UACf+E,EAAUR,WAAWhwE,OAAS8vE,EAAYE,WAAWhwE,SAErDovE,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,IA9iBrCW,CACIf,EACAN,EACAG,EACAJ,GAEJI,GAA4B,GAE5BA,EAA4BC,KAIpCD,EAA4BC,KAI7BJ,EAKX,SAASsB,GAAyB5Y,GAC9B,OAAI,GAA+BA,GACxB,EAEP,GAAgCA,GACzB,EAEJ,EAGJ,SAAS6Y,GACZC,EACAC,EACAC,GAEA,MAAMC,EAAgC,GACtC,IACKF,EAAgBnE,MACiB,KAAlCmE,EAAgBnE,KAAKjB,UACrBoF,EAAgBnE,KAAKsE,iBAErB,OAAOD,EAKX,MAAME,EAAaJ,EAAgBnE,KAOnC,GAA8B,KAN9BkE,GAAkBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAAiB/iB,QAChF5sC,KACKA,EAAK5P,OACN4/D,EAAWX,QAAQ7c,MAAMyd,GAAaA,EAAS7/D,KAAK/O,QAAU2e,EAAK5P,MAAQ6/D,EAASC,QAAUlwD,EAAKkwD,WAGzFnxE,OACf,OAAO+wE,EAGX,IAAK,MAAMK,KAAYR,EACnBG,EAAc1wE,KACVgxE,GAAyCD,EAAS//D,KAAO+/D,EAASD,MAAON,EAAgBnE,KAAMoE,IAKvG,MAAMQ,EAAW,EAAmBP,GAAgB9nE,GAAMy0B,GAAM0tC,MAAMniE,EAAEwI,SAClE8/D,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EAAS3jD,SACJ,IAArB6jD,EAAUxxE,OACVuxE,EAAalxE,KAAKmxE,EAAU,IAE5BD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBAAiBD,EACZhT,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8nE,WAAYjuE,EAAEiuE,cACnD7oD,KAAK7f,GAAMA,EAAEwoE,kBACbjxE,KAAK,MAKtB,OAAO+wE,EAGX,SAASG,GAAoBE,EAAeC,GAGxC,MAEMjoE,EAFY8mE,GAAyBkB,GACzBlB,GAAyBmB,GAE3C,OAAgB,IAAZjoE,EACOA,EASJ8uD,EAFgBkZ,EAAMjnE,QAAQ,KAAM,KACpBknE,EAAMlnE,QAAQ,KAAM,MAQ/C,SAAS0mE,GACLM,EACAR,EACAzE,EACAoE,GAIA,IAAIgB,EACJ,IAAK,MAAMC,KAAarF,EAAK4D,QAAS,CAClC,GAAIoB,GAAoBK,EAAU1gE,KAAK/O,MAAOqvE,GAAc,EACxD,MAGJG,EAAcC,EAWlB,IAAIC,GAA0B,EAC1BC,EAAa,GACjB,GAAIvF,EAAK4D,QAAQtwE,OAAS,EAAG,CACzB,MAAMkyE,EAAqBjI,GAAwByC,EAAK5rE,MAAOgwE,EAAaqB,gBAAgB3lB,OACtF4lB,EAAiBnI,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC7F6lB,EACF3F,EAAK4D,QAAQtwE,OAAS,EAChBiqE,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,YAC5E1oD,EAEV,GACIsuE,EAAelzC,KAAOgzC,EAAmBhzC,YACpBp7B,IAApBuuE,GAAiCA,EAAgBnzC,KAAOkzC,EAAelzC,MAC1E,CACE,MAAMozC,EAAuBxB,EAAaqB,gBAAgB3lB,MAAM8d,UAAU8H,EAAelzC,MAIzF+yC,EAAanB,EAAa10C,KAAKp1B,OAAOsrE,EAAqBxxE,MAAOsxE,EAAejzC,WAG7E,QAAQ6c,KAAKi2B,KACbD,GAA0B,IAKtC,MAKMO,EAAoBtI,GALF6H,EAClBtI,GAAUmB,OAAOmH,GACjBpF,EAAK4D,QAAQtwE,OAAS,EACtB0sE,EAAK4D,QAAQ,GAAGxvE,MAChB4rE,EAAK5rE,MAAQ4rE,EAAK1sE,OAC2C8wE,EAAaqB,gBAAgB3lB,OAE1FgmB,EAAarB,EAAQ,GAAGQ,QAAiBR,IAAU,GAAGQ,IAC5D,IAAIF,EAEJ,GAAIO,EAAyB,CACzB,MAAMS,EAAM3B,EAAaqB,gBAAgBO,6BACzCjB,EAAkBK,EAAc,IAAIW,IAAMR,IAAaO,IAAe,GAAGA,KAAcC,IAAMR,SAE7FR,EAAkBK,EAAc,KAAKU,IAAe,GAAGA,MAG3D,MAAO,CACH/gE,MAAO,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GACxCZ,aACAF,mBA0CD,SAASkB,GACZ/B,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAWA,OAGJ,SAA2ChC,EAA4BiC,GACnE,GAAIA,EAAe/yE,OAAS,EACxB,OAAO+yE,EAAejqD,KAAK7f,GAAM+pE,EAAY/pE,KAIjD,MAAMqoE,EAAW,IAAI,EAAmByB,GAAiB9pE,GAAM,GAAGA,EAAE4pE,eAAen1C,GAAM0tC,MAAMniE,EAAEwI,YAC5F+sD,MAAK,CAAC30D,EAAGnG,IAAMg1D,EAA4B7uD,EAAE,GAAInG,EAAE,MACnDolB,KAAKstC,GAAMA,EAAE,KAEZmb,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EACK,IAArBE,EAAUxxE,OACVuxE,EAAalxE,KAAK2yE,EAAYxB,EAAU,KAExCD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBACID,EAAU,GAAGyB,UACbzB,EACK1oD,KAAK7f,GAAMA,EAAE4nE,kBACbrS,MAAK,CAAC30D,EAAGnG,IAAMwvE,EAAerpE,EAAGnG,KACjClD,KAAKswE,EAAaqB,gBAAgBO,8BACvClB,EAAU,GAAG2B,aAK7B,OAAO5B,EAEP,SAASyB,EAAYtuC,GACjB,MAAO,CAAEjzB,MAAOizB,EAAKjzB,MAAOggE,gBAAiB/sC,EAAKuuC,UAAYvuC,EAAKmsC,gBAAkBnsC,EAAKyuC,YAG9F,SAASD,EAAerpE,EAAWnG,GAC/B,MAAM0vE,EAAYvpE,EAAE2wD,WAAW,UAG/B,OAAI4Y,IAFc1vE,EAAE82D,WAAW,UAGpB3wD,EAAInG,GAAK,EAAI,EAGjB0vE,GAAa,EAAI,GA7CrBC,CAAkCvC,EAiD7C,SACIF,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,MAAMC,EAAkC,GAGV,KAD9BnC,EAAiBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAChD5wE,QAEf4wE,EAAevwE,KAAK,IAIxB,MAAMyoB,EAAM,EAAmB8nD,GAAiBtxE,GAAOA,EAAE+R,KAAO,OAAS,WAGnEi/D,EAAUxnD,EAAIvf,IAAI,UACpB+mE,GACAgD,EAAchD,GAAUvC,GAAU,UAAUA,EAAMvtE,KAAK,UAI3D,MAAM+yE,EAAczqD,EAAIvf,IAAI,QAK5B,OAJIgqE,GACAD,EAAcC,GAAcxF,GAAU,QAAQiC,YAAqBjC,EAAMvtE,KAAK,UAG3EuyE,EAUP,SAASO,EAAc1C,EAAkC4C,GACrD,MAAMC,EAAc7C,EACf9nD,KAAKxpB,GAVd,SAAyB8xE,EAA0BpB,GAC/C,MAAM0D,EAAatC,EAAS//D,KAAO+/D,EAAS//D,KAAO2+D,EACnD,MAAO,CACH2D,SAAUD,EACVt3C,KAAMg1C,EAASD,MAAQ,GAAGuC,QAAiBtC,EAASD,QAAUuC,GAMlDE,CAAgBt0E,EAAG0wE,KAC9BxR,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8pE,SAAUjwE,EAAEiwE,YACjD7hB,QAAO,CAAC3nD,EAAKisD,IpBvHnB,SAAwB72D,EAAUgyD,EAAMsiB,EAAwC9gB,GACnF,OA5UG,SACHxuD,EACAjC,EACAuxE,EAAwC9gB,GAExC,GAAIxuD,EACA,IAAK,MAAM6xD,KAAK7xD,EACZ,GAAIsvE,EAAiBzd,EAAG9zD,GACpB,OAAO,EAInB,OAAO,EAgUHwoE,CAASvrE,EAAKgyD,EAAGsiB,IAIrBt0E,EAAIc,KAAKkxD,GAHEhyD,EoBqHiBu0E,CAAY3pE,EAAKisD,EAAEh6B,OAAO,IAElD22C,EAAe1yE,KAavB,SACIwwE,EACA+B,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,IAGIP,EAHAU,EAAY,GACZE,EAAa,GAGjB,MAAMY,EAAa,GAAwBjB,EAAoBhC,EAAaqB,gBAAgB3lB,OAC5F,GAAIomB,EAAiBvD,eAAervE,OAAS,GAAK+zE,EAAanB,EAAiBvD,eAAe,GAAG3C,KAAK5rE,MAAO,CAC1G,IAAIkzE,GAAe,EACfC,EAAkBrB,EAAiBvD,eAAe,GAKlD6E,EAAkB,EACtB,IAAK,MAAMnC,KAAaa,EAAiBvD,eAAgB,CAIrD,MAAM8E,EAA8BpC,EAAUlD,aAAeF,GAAeoD,GAAamC,EAEzF,GAAIrB,EAAcsB,EAAgB,EACzBH,GAAgBE,EAAkBrB,IAEnCI,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAGJ,GAAIJ,IAAgBsB,GAAkBpC,EAAU/B,WAAaA,EACzD,MAKJ,GAAI+B,EAAUxC,0BAA2B,CACjCsD,EAAcqB,IAEdjB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAIAlB,IAAca,EAAiBvD,eAAeuD,EAAiBvD,eAAervE,OAAS,IACnF6yE,EAAcsB,IAEdlB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAM5Ee,GADCA,GAAgBnB,EAAcqB,GAAmBrB,IAAgBsB,EAMtED,EAAkBC,EAClBF,EAAkBlC,EAGlBkC,GACID,EACAb,GAA0BrC,EAAaqB,gBAAgBO,6BAEvDO,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAG5EV,EAAoBtI,GAChB+J,EAAeC,EAAgBvH,KAAK5rE,MAAQ0oE,GAAUmB,OAAOsJ,EAAgBvH,MAC7EoE,EAAaqB,gBAAgB3lB,QAGjC+lB,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,OAE3C,CAGHozC,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,GAC1C,IAAIi1C,GAAmB,EAEvB,IAAK,MAAMxF,KAAakC,EAAa5B,UAAUO,WAAY,CACvD,IAAI4E,GAAW,EACf,GAA2B,KAAvBzF,EAAUnD,UAA4E,IAAhCmD,EAAUa,WAAWzvE,OAAc,CACzF,MAAMs0E,EAAkB1F,EAAUa,WAAW,IAEZ,KAA7B6E,EAAgB7I,UAGoB,IAA7B6I,EAAgB7I,UACyB,KAA5C6I,EAAgB5I,eAAeD,UAC3B,GAA6B6I,EAAgB5I,eAAeppE,UAHpE+xE,GAAW,GAWnB,GAAIA,EAAU,CACV9B,EAAoBtI,GAAwB2E,EAAU9tE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC1F4nB,GAAmB,EACnB,MAEA7B,EAAoBtI,GAChB2E,EAAU9tE,MAAQ8tE,EAAU5uE,OAC5B8wE,EAAaqB,gBAAgB3lB,OAEjC4nB,GAAmB,EAI3BjB,EACIA,EACArC,EAAaqB,gBAAgBO,6BAC7B5B,EAAaqB,gBAAgBO,6BAC7B0B,EACAnB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAExEE,GAA0BrC,EAAaqB,gBAAgBO,6BAK/D,MAAO,CAAEjhE,MADK,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GAC/BU,YAAWpC,kBAAiBsC,aAAYN,eA/IhD0B,CACIf,EAAsBC,GACtBb,EACA5C,EACA6C,EACA/B,EACAgC,KAhHW0B,CACnB5D,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,IAwUR,SAAS7C,GAAkBvD,GACvB,IAAIsD,EAAa,GACjB,IAAK,IAAI1wE,EAAI,EAAGA,EAAIotE,EAAK+H,YAAan1E,IAClC0wE,GAA0B,IAK9B,OAFAA,GAActD,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAAO9B,KAAK,KAErDwvE,EA2BJ,SAAS4E,GAAoCC,GAChD,IAAIhC,EAAc,EAOlB,OANIgC,EAAkB9F,oBAAuD,IAAjC8F,EAAkB/F,WAC1D+D,EAAc,EAC0B,IAAjCgC,EAAkB/F,aACzB+D,EAAc,GAGXA,EA0BJ,SAASiC,GACZla,EACAma,EACAC,EACAC,GAAwB,EACxBC,GAEA,IAMIpd,EANAqd,EAAUJ,GACdG,OAAgCpxE,IAAjBoxE,EAA6BA,EAAepX,GAAOlD,EAAIma,MAElEI,EAAU9b,EAAiB0b,IAI/B,IAAIK,EAAWJ,EACf,GAAIE,EAAc,CACdE,EAAW/b,EAAiB2b,GAE5B,MAAMzX,EAAWI,GAAmBD,GAAYsX,IAC/B,aAAbzX,EAEAzF,EAAayF,EACN0X,IAKPnd,EAAa4F,GAAY0X,GACzBA,EAAW/b,EAAiB+b,IAIpC,MAAMC,EAAgB1Y,GAAuCwY,EAASC,GAAW94B,GAAMse,EAAG2L,aAAajqB,KAKvG,IAAIg5B,EAAe,IACnB,IAAK,IAAIh2E,EAAI,EAAGA,EAAI+1E,EAAcr1E,OAAQV,IAAK,CAC3C,MAAMo7D,EAAe2a,EAAc/1E,GAE/Bg2E,GADiB,OAAjB5a,EACgB,IAEAA,EAGC,OAAjBA,GAAyBp7D,IAAM+1E,EAAcr1E,OAAS,IACtDs1E,GAAgB,KASxB,OALIxd,IACAwd,EAC8C,MAA1CA,EAAaA,EAAat1E,OAAS,GAAas1E,EAAexd,EAAawd,EAAe,IAAMxd,GAGlGwd,EAGJ,SAASC,GAAgC3Y,EAAuB6X,GACnE,IAAI9Y,EAAmBiB,EACvB,IAAK,IAAIt9D,EAAI,EAAGA,EAAIm1E,EAAan1E,IAAK,CAClC,GAAyB,KAArBq8D,EACA,OAGJA,EAAmBtC,EAAiBsC,GAGxC,OAAOA,EC9yBJ,MAAM6Z,GAMTvkE,YAAoBwkE,GAAA,KAAAA,oBALH,KAAAC,eAAiB,IAAI5yD,IACrB,KAAA6yD,eAAiB,IAAI7yD,IAE9B,KAAA8yD,mBAAsC9xE,EAM9C+xE,gBAAgB9hE,EAAc49D,EAAoB9C,G,YAC9C,MAAM7pD,EAA4C,QAAnC,EAAAhgB,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACxD,GAAIiR,EAGA,OAAOA,UAAU6pD,EAGrB,MAAMhrE,EAA6C,QAAnC,EAAAmB,KAAK0wE,eAAensE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACzD,OAAIlQ,EAEKA,EAAQiyE,YAIsD,QAA5D,EAAmC,QAAnC,EAAA9wE,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAI1F,EAAQiyE,mBAAW,QAHxDjH,OAHf,EAYJkH,eAAenb,EAAgBob,EAAwBx/D,G,MACnD,QAAKw/D,EAAexb,WAAWhkD,KAK/BxR,KAAK4wE,cACiB,QAAlB,EAAA5wE,KAAK4wE,qBAAa,QAClB5wE,KAAKywE,oBACA3sD,KAAKY,GAAM0wC,GAAiCwG,GAAkBhG,EAAIY,GAAc9xC,OAChFmkC,QAAQnkC,GAAMA,IAAMlT,IACpBq3C,QAAQnkC,GAAMA,EAAE8wC,WAAWhkD,MAEhCxR,KAAK4wE,cAAcniB,MAAMj8C,GAAMw+D,EAAexb,WAAWhjD,MASjE3T,QAAQkQ,EAAc49D,EAAoBmE,GACtC9hB,EAAShvD,KAAK0wE,eAAgB/D,GAAY,IAAM,IAAI7uD,MAA2B3Y,IAAI4J,EAAM+hE,GAG7FlrD,IAAI5F,GACAgvC,EAAShvD,KAAK2wE,eAAgB3wD,EAAO2sD,YAAY,IAAM,IAAI7uD,MAA6B3Y,IACpF6a,EAAOjR,KACPiR,EAAO6pD,cAIfoH,QACIjxE,KAAK0wE,eAAe7oD,QACpB7nB,KAAK2wE,eAAe9oD,QACpB7nB,KAAK4wE,mBAAgB9xE,GCvDtB,MAAMoyE,GAAmB,SACnBC,GAAuB,QA6B7B,SAASC,GACZxb,EACAyb,EACAC,EACAC,EACAC,EACAC,GAIA,GAFAF,EAAkBl2E,KAAK,oCAEQyD,IAA3BuyE,EAAcK,UAA0BL,EAAcM,KAAM,CAC5D,MAAMC,EAAUP,EAAcM,KACxBD,EAAW3b,GAAasb,EAAcK,SAAUE,GAEhDC,EAAuB,GACvBC,EAA8B,GAkBpC,GAhBA,CAAC,EAAgB,EAAkB,GAAyBxsD,SAASysD,IACjE,MAAMC,EA8ClB,SAA8Bpc,EAAgBmc,EAAiBR,GAC3D,IAAI3b,EAAGI,WAAW+b,GAId,YADAR,EAAkBl2E,KAAK,iBAAiB02E,MAFxCR,EAAkBl2E,KAAK,eAAe02E,iCAM1C,MAAMC,EAAmBjc,GAAagc,EAAS,GAC/C,GAAInc,EAAGI,WAAWgc,GAEd,OADAT,EAAkBl2E,KAAK,eAAe22E,MAC/BA,EAEPT,EAAkBl2E,KAAK,iBAAiB22E,0CAK5C,MAAMppD,EAAUswC,GAAqBtD,EAAImc,GACzC,IAAK,IAAIz3E,EAAI,EAAGA,EAAIsuB,EAAQ0wC,YAAYt+D,OAAQV,IAAK,CACjD,MAAM23E,EAAUrpD,EAAQ0wC,YAAYh/D,GACpC,GAAI23E,EAAQzc,WAAW,UAAW,CAC9B,MAAMF,EAAUS,GAAagc,EAASE,EAAS,GAC/C,GAAIrc,EAAGI,WAAWV,GAEd,OADAic,EAAkBl2E,KAAK,eAAei6D,MAC/BA,EAEPic,EAAkBl2E,KAAK,SAASi6D,iCAzEX4c,CAAqBtc,EAAIG,GAAa2b,EAAUK,GAAUR,GAC/ES,IACAG,GAAgBN,EAAYG,GAC5BF,EAAkBz2E,KAAK22E,OAK/BF,EAAkBxsD,SAAS0sD,IACNI,GAAqBxc,EAAIoc,GACjC1sD,SAASvW,IACdojE,GAAgBN,EAAY9iE,SAIhC8iE,EAAW72E,OAAS,EAKpB,OAJAu2E,EAAkBl2E,KAAK,4CACvBw2E,EAAWvsD,SAASvW,IAChBwiE,EAAkBl2E,KAAK,KAAK0T,QAEzB8iE,EAGXN,EAAkBl2E,KACd,8EAKR,MAAMg3E,EAAaf,EAAKgB,qBAAqBjB,EAAckB,WAAYhB,GACvE,OAAIC,GAAyBC,EACXY,EAAW9b,MAAM1N,QAC1Br2C,IAAOikD,GAAagb,EAAej/D,GAAG,IAASikD,GAAa4b,EAAWnpB,OAAQ12C,GAAG,KAMpF6/D,EAAW9b,MAGf,SAASic,GAAehgE,GAE3B,MAAa,YADbA,EAAIA,EAAE5M,SACyB,YAAN4M,EAsCtB,SAAS4/D,GAAqBxc,EAAgB6c,GACjD,MAAMC,EAAwB,GA4B9B,OAzBiB9c,EACZwD,mBAAmBqZ,GACnB5pB,QAAQ4Q,IAAWA,EAAMX,UAAYW,EAAMC,mBAAqBD,EAAMptD,KAAK4tD,SAAS,UACpFT,MAAK,CAAC30D,EAAGnG,IAAMsvD,EAAwBnpD,EAAEwH,KAAM3N,EAAE2N,QAE7CiZ,SAASqtD,IACd,MAAM9W,EAAW9F,GAAa0c,EAAWE,EAAQtmE,MAC3C8yD,EAAYtG,GAAQjD,EAAIiG,IAG1BsD,aAAS,EAATA,EAAWrG,WAAYqG,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OACjDs2D,EAAGyJ,aAAaxD,EAAU,QACpBtuD,MAAM,SACnB+X,SAAS4U,IACX,MAAM04C,EAAc14C,EAAKt0B,OACzB,GAAIgtE,EAAY53E,OAAS,IAAM43E,EAAYpd,WAAW,OAASod,EAAYnhB,MAAM,aAAc,CAC3F,MAAMohB,EAAU9c,GAAa0c,EAAWG,GACpChd,EAAGI,WAAW6c,IAAYja,GAAYhD,EAAIid,IAC1CH,EAAYr3E,KAAKw3E,UAO9BH,EAGX,SAASP,GAAgBW,EAAoBC,GACzC,OAAKD,EAASrkB,MAAM1/C,GAASA,IAASgkE,MAClCD,EAASz3E,KAAK03E,IACP,GCjIR,SAASC,GAA+BhI,GAC3C,MAAO,CACHyE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,gBAAiB,IAUzB,MAAMC,GAA+B,CAAC,OAAQ,MAAO,UACxCC,GAA0B,CAAC,MAAO,UAAWD,IASnD,MAAME,GAcTnnE,YACoB+yD,EACNqU,EACM/B,GAFA,KAAAtS,aACN,KAAAqU,iBACM,KAAA/B,OAfZ,KAAAgC,qBAAuB,IAAIx1D,IAC3B,KAAAy1D,yBAA2B,IAAIz1D,IAO/B,KAAA01D,sBAAwB,IAAI11D,IAShC9d,KAAKyzE,0BAA4B,IAAIjD,IAAqB,IAAMxwE,KAAKsyE,qBAAqB,MAG9FoB,kBACI1zE,KAAKszE,qBAAuB,IAAIx1D,IAChC9d,KAAKuzE,yBAA2B,IAAIz1D,IACpC9d,KAAKyzE,0BAA0BxC,QAE/BjxE,KAAK2zE,6BAED3zE,KAAKg/D,sBAAsBoB,IAC3BpgE,KAAKg/D,WAAW+E,oBAMxB6P,cACI5C,EACAjO,EACA8Q,GAIA,OAAO7zE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAK9CC,eACN9C,EACAjO,EACA8Q,GAEA,MAAMlH,EAAa3sE,KAAK+zE,iBAAiBF,GAEnChK,EAAe7pE,KAAKg0E,qBACtBrH,EACAqE,EACAjO,EACA8Q,EALgC,IASpC,GAAIhK,EAAae,eAAiBiJ,EAAiBpE,YAAc,EAC7D,OAAO5F,EAOX,MAAMoK,EAAS7e,GAAiCf,EADhD2c,EAAiBpV,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAG5DhxD,EAAShgB,KAAKyzE,0BAA0B5C,gBAAgBoD,EAAQtH,EAAY9C,GAClF,GAAI7pD,EAEA,OAAOhgB,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAI/D,MAAMzhE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MACxE,IAAKxR,KAAKyzE,0BAA0B1C,eAAe/wE,KAAKg/D,WAAYgS,EAAgBx/D,GAChF,OAAOq4D,EAGX,MAAMiH,EAAyB,CAAEA,gBAAYhyE,GAG7C,IAAI0pB,EAAUyrD,EACd,KAAOj0E,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAC/C,MAAM/iD,EAAShgB,KAAKq0E,sBAChB7rD,EACAu6C,EACA8Q,EACAlH,EACA,QACmB7tE,OACEA,GACA,GACN,GAKnB,GAFAkB,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GAExD9wD,EAAO4qD,cAUP,OARAkG,EAAWA,WAAatoD,EAExBxoB,KAAKyzE,0BAA0B7tD,IAAI,CAC/BikD,aAAc7pD,EACdjR,KAAMyZ,EACNmkD,eAGG3sE,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAG/D,IAAIqB,EAEJ,IADCA,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAKR,OADAt0E,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GACrDjH,EAGHmK,qBACJrH,EACAqE,EACAjO,EACA8Q,EACAtC,GAEA,MAAMiD,EAA+B,CACjC7H,aACA3C,YAAY,EACZY,eAAe,EACf6J,kBAAkB,EAClBC,oBAAoB,EACpBC,eAAe,EACfpD,oBACA1G,cAAe,GACff,WAAY,EACZ8K,YAAY,EACZC,aAAa,EACb1J,gBAAiB,GACjB2J,wBAAyB,GACzBC,yBAAqBj2E,GAMzB,GAHAkB,KAAKg1E,0BAA0BjS,GAG3B8Q,EAAiBpE,YAAc,EAAG,CAClC,MAAMwF,EAAiBj1E,KAAKk1E,uBACxBlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAGJ,GAAI0D,EAEA,OADAA,EAAejL,YAAa,EACrBiL,MAER,CAEH,MAAME,EAAgBn1E,KAAKo1E,sBAAsBrS,EAAS4J,EAAYkH,EAAiBZ,iBACvF,GAAIkC,KAOIA,EAAcvK,gBACduK,EAAcT,oBACb10E,KAAKq1E,4BAA4BxB,EAAkBsB,EAAchK,kBAGlE,OAAOgK,EAIf,MAAMG,EAAat1E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,GAC9F,GAAIyB,EAMA,OALIA,EAAWV,aACXU,EAAWP,oBACP/0E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,IAC3EW,GAEDx0E,KAAKw1E,kBAAkBzS,EAAS4J,EAAY2I,EAAYzB,EAAiBZ,iBAIxF,OAAOjzE,KAAKw1E,kBAAkBzS,EAAS4J,EAAY6H,OAAgB11E,GAGvE22E,yBACIzE,EACAjO,EACA8Q,GAEA,MAAM6B,EAAc11E,KAAK21E,gCAAgC3E,EAAgBjO,EAAS8Q,GAGlF,GAAIA,EAAiBpE,YAAc,EAC/B,OAAOiG,EAGX,MAAMlkE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MAKxE,IAAIgX,EAJW4sC,GACXf,EAAiBuH,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAItE,KAAOhxE,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAU/C,IAAIuR,EAEJ,GAXAt0E,KAAK41E,kCACD5E,EACAjO,EACAv6C,EACAqrD,EACA6B,GACe,IAIlBpB,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAIR,OAAOoB,EAGHC,gCACJ3E,EACAjO,EACA8Q,GAEA,MAAMtC,EAA8B,GAC9BmE,EAAc,IAAI5kC,IAGxB,GAAI+iC,EAAiBpE,YAAc,EAC/BzvE,KAAK61E,kCAAkC7E,EAAgBjO,EAAS8Q,EAAkB6B,OAC/E,CAEC7B,EAAiBnE,UAAU10E,OAAS,GACpCgF,KAAK81E,sCACD9E,EACAjO,EACA8Q,GACA,EACA6B,GAKJ3S,EAAQvxD,MACRxR,KAAK41E,kCACD5E,EACAjO,EACAA,EAAQvxD,KACRqiE,EACA6B,GAIR,IAAK,MAAMK,KAAahT,EAAQiT,WAC5Bh2E,KAAK41E,kCACD5E,EACAjO,EACAgT,EACAlC,EACA6B,GAKJ11E,KAAKqzE,eAAe4C,UACpBj2E,KAAK41E,kCACD5E,EACAjO,EACA/iE,KAAKqzE,eAAe4C,SACpBpC,EACA6B,GAKR11E,KAAK81E,sCAAsC9E,EAAgBjO,EAAS8Q,GAAkB,EAAO6B,GAG7F,MAAMQ,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EACrBl2E,KAAK41E,kCACD5E,EACAjO,EACAoT,EACAtC,EACA6B,GAKZ,OAAOA,EAIXU,uBAAuBC,EAAsBtT,EAA+BuT,GACxE,MAAMC,EAA4B,GA4BlC,GAvBAv2E,KAAKszE,qBAAqBhuD,SAASxB,IAC/BA,EAAIwB,SAAStF,IACT,GAAIA,EAAO40D,YAAc50D,EAAO4qD,eAAiB5qD,EAAO+0D,qBAChD/0D,EAAO6qD,cAAc7qD,EAAO6qD,cAAc7vE,OAAS,KAAOq7E,GACtDr2D,EAAO+0D,oBAAoBnK,cAAe,CAC1C,MAAM4L,EACFx2D,EAAO+0D,oBAAoBlK,cACvB7qD,EAAO+0D,oBAAoBlK,cAAc7vE,OAAS,IAGtDw7E,EAAavc,SAAS,QAAUuc,EAAavc,SAAS,UAGtDsc,EAAgBl7E,KAAKm7E,UAUd,IAA3BD,EAAgBv7E,OAAc,CAE9B,MAAMg2E,EAAiBja,GAAmBsf,EAAc,OACpDr2E,KAAKy2E,gBAAgBzF,IACrBuF,EAAgBl7E,KAAK21E,GAI7B,GAA+B,IAA3BuF,EAAgBv7E,OAAc,CAS9B,MAAM07E,EAAkB12E,KAAK22E,eAAe5T,GAEtC6T,EAA8B,GACpC,IAAK,MAAMC,KAAkBH,EACzB,GAAIjgB,GAAaogB,EAAgBR,GAAc,GAAO,CAClD,MAAMn7E,EAAQy8D,GAAuCkf,EAAgBR,GAAc,GAGnF,GAAIn7E,EAAMF,OAAS,EAAG,CAIdE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAGhE,MAAM87E,EAAmB3hB,EAAsBj6D,GAC3C47E,GACAF,EAAkBv7E,KAAKy7E,IAMvC,IAAK,MAAMA,KAAoBF,EAC3B,IAAK,MAAMC,KAAkBH,EAAiB,CAE1C,IAAIK,EAAqBhgB,GADAT,GAAaugB,EAAgBC,GACQ,OAC9D,GAAI92E,KAAKg3E,iBAAiBD,GACtBR,EAAgBl7E,KAAK07E,OAClB,CACH,MAAME,EAA2Bte,GAAmBoe,GAEhDE,EAAyBhd,SAAS,aAGlC8c,EACIE,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,GAAK,MAC1EgF,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,KAKzBA,EAAqBhhB,GAAakhB,EAA0B,eACxDj3E,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,MAQ7C,OAAOR,EAMXW,uBAAuBrb,EAAkBkH,GAErC,MAAMoU,EAAQnoB,EAAShvD,KAAKuzE,yBAA0BxQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAC9E,OAAOkxC,EAASmoB,EAAOtb,GAAU,IAAM77D,KAAKo3E,wBAAwBvb,EAAUkH,KAG1EqU,wBAAwBvb,EAAkBkH,GAC9C,IAAIiI,EACAlB,EAAa,EACbC,GAAqB,EAEzB,MAAMwH,EAA8B,GAG9B8F,EAAqBr3E,KAAKs3E,uBAAuBvU,EAASwO,GAChE,GAAI8F,IACArM,EAAahrE,KAAKu3E,sBAAsBF,EAAoBxb,GACxDmP,GAAY,CACZ,MAAM6I,EAA6C,CAC/CpE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,qBAAiBn0E,GAGrB,GAAIkB,KAAKw3E,qCAAqC3D,EAAkB9Q,EAAS,IACrE,MAAO,CAAEiI,aAAYlB,aAAYC,sBAMzChH,EAAQvxD,OACRw5D,EAAahrE,KAAKu3E,sBAAsBxU,EAAQvxD,KAAMqqD,GACtDiO,EAAa,GAGjB,IAAK,MAAMiM,KAAahT,EAAQiT,WAAY,CACxC,MAAMyB,EAAsBz3E,KAAKu3E,sBAAsBxB,EAAWla,KAI7DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,GAAI9pE,KAAKqzE,eAAe4C,SAAU,CAC9B,MAAMwB,EAAsBz3E,KAAKu3E,sBAAsBv3E,KAAKqzE,eAAe4C,SAAUpa,KAIhFmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EAGb3N,EAAa,EACbC,GAAqB,GAK7B,MAAM2N,EAAyB13E,KAAK23E,2BAA2B5U,EAASwO,GACxE,GAAImG,EAAwB,CACxB,MAAMD,EAAsBz3E,KAAKu3E,sBAC7BG,EACA7b,GAC2B,KAK1BmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,MAAM8N,EAA2B53E,KAAK63E,kBAAkB9U,EAASwO,GACjE,GAAIqG,EAA0B,CAC1B,MAAMH,EAAsBz3E,KAAKu3E,sBAAsBK,EAA0B/b,KAI5EmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,MAAMoM,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAMuB,EAAsBz3E,KAAKu3E,sBAAsBpB,EAAYta,KAI9DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,OAAIkB,EACO,CAAEA,aAAYlB,aAAYC,sBAI9B,CAAEiB,WAAY,GAAIlB,WAAY,EAAkBC,sBAG3D+N,sBAAsB/U,GAElB,OAAO/iE,KAAKs3E,uBAAuBvU,EADV,IAI7B4T,eAAe5T,EAA+BgV,GAAa,GACvD,MAAMxG,EAA8B,GAC9BrO,EAAQ,GAER8U,EAAch4E,KAAKs3E,uBAAuBvU,EAASwO,GAgBzD,GAfIyG,GACA9U,EAAM7nE,KAAK28E,GAIXjV,EAAQvxD,MACR0xD,EAAM7nE,KAAK0nE,EAAQvxD,MAGvB0xD,EAAM7nE,QAAQ0nE,EAAQiT,YAElBh2E,KAAKqzE,eAAe4C,UACpB/S,EAAM7nE,KAAK2E,KAAKqzE,eAAe4C,UAG/B8B,EAAY,CAIZ,MAAME,EAAiBj4E,KAAK23E,2BAA2B5U,EAASwO,GAC5D0G,GACA/U,EAAM7nE,KAAK06D,GAAakiB,EAAgB,YAEzC,CACH,MAAMC,EAAkBl4E,KAAKm4E,mCAAmCpV,EAASwO,GACzErO,EAAM7nE,QAAQ68E,GAGlB,MAAME,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,GACAlV,EAAM7nE,KAAK+8E,GAGf,MAAMlC,EAAoBl2E,KAAKsyE,qBAAqBf,GAKpD,OAJI2E,EAAkBl7E,OAAS,GAC3BkoE,EAAM7nE,QAAQ66E,GAGXhT,EAGDmV,qBAAqBtpE,GAC3B,MAAMupE,EAAct4E,KAAKwzE,sBAAsBjvE,IAAIwK,GACnD,GAAIupE,EACA,OAAOA,EAGX,IAAIC,EACJ,IACIA,EAAgBv4E,KAAKg/D,WAAW5F,mBAAmBrqD,GACrD,MACEwpE,EAAgB,GAKpB,OADAv4E,KAAKwzE,sBAAsBruE,IAAI4J,EAAMwpE,GAC9BA,EAGDvB,iBAAiBjoE,G,QACvB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGe,QAAxC,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE+pD,gBAAQ,SAGnD,MACMW,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOX,SACP,OAAO,EAGX,GAAIW,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa5f,GAAO94D,KAAKg/D,WAAY0Z,GAC5E,OAAO,EAIf,OAAO,EAGDjC,gBAAgB1nE,G,QACtB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGoB,QAA7C,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE6pD,qBAAa,SAGxD,MACMa,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOb,cACP,OAAO,EAGX,GAAIa,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa9f,GAAY54D,KAAKg/D,WAAY0Z,GACjF,OAAO,EAIf,OAAO,EAGX1D,0BAA0BjS,GACtB,KAAM/iE,KAAKg/D,sBAAsBoB,IAC7B,OAAO,EAGX,GAAIpgE,KAAKg/D,WAAW8D,6BAA6BC,GAC7C,OAAO,EAGX,MAAMnN,EAAK51D,KAAKg/D,WACV2Z,EAAoB,GACpBpiB,EAAkB,GAWxB,OARAqiB,EAAS54E,KAAKqzE,eAAe4C,UAC7B2C,EAAS7V,EAAQvxD,MACjBuxD,EAAQiT,WAAW1wD,SAAS9S,GAAMomE,EAASpmE,KAC3ComE,EAAS54E,KAAK63E,kBAAkB9U,EAAS4V,IACzC34E,KAAKsyE,qBAAqBqG,GAASrzD,SAAS9S,GAAMomE,EAASpmE,KAE3DxS,KAAKg/D,WAAWiE,2BAA2B1M,EAAOv2D,KAAK22E,eAAe5T,IACtE/iE,KAAK2zE,8BACE,EAEP,SAASiF,EAAS7pE,GACTA,IAAQ6mD,EAAGoN,cAAcj0D,IAI9BwnD,EAAMl7D,KAAK0T,IAITymE,kBACNzS,EACA4J,EACA9C,EACAoJ,GAOA,OALAjkB,EAAShvD,KAAKszE,qBAAsBvQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAA6B3Y,IACrFwnE,EACA9C,GAGG7pE,KAAKk0E,sBAAsBrK,EAAcoJ,GAK1CoB,sBACNxa,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GAAe,EACfC,GAAiB,EACjBC,GAAiB,EACjBC,GAAW,EACXC,GAAiB,GAEjB,GAAID,GAAYD,EAAgB,CAI5B,MAAMlP,EAAe7pE,KAAKk5E,uBACtBrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GACqB,GACA,GACN,GACM,GAIzB,GAAIhP,EAAasP,oBAGRtP,EAAa6K,oBAAsB7K,EAAae,eACjD,OAAOf,EAKnB,OAAO7pE,KAAKk5E,uBACRrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,GACqB,EACrBE,EACAC,GAIAtF,6BACJ3zE,KAAKwzE,sBAAsB3rD,QAKvB4wD,WAAW1pE,GACf,MAAM0mD,EAAiBf,EAAkB3lD,GACzC,OAAI0mD,EAAez6D,QAAU,EAClB,CAAC+T,EAAM,IAMX,CAHgBomD,EAAsBM,EAAe73D,MAAM,GAAI,IAChD63D,EAAeA,EAAez6D,OAAS,IAKzDk+E,uBACJrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,EACAC,EACAC,EACAC,GAEIF,EACAxH,EAAkBl2E,KAAK,uDAAuDw+D,MAE9E0X,EAAkBl2E,KAAK,0CAA0Cw+D,MAKrE,MAAMgR,EAA0B,GAChC,IAMIsO,EACA/V,EA0IAgW,EAjJA9jB,EAAUuE,EACV6a,GAAqB,EACrBC,GAAgB,EAChBC,GAAa,EACbC,GAAc,EACd1J,EAAoC,GAKxC,GAA0C,IAAtC0I,EAAiBnE,UAAU10E,OAAc,CACzC,MAAMq+E,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QAEjEL,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACnB3E,GAAa,GACN50E,KAAKg3E,iBAAiBsC,IAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,KAEnB/H,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACnBq5E,GAAqB,GAGzBvJ,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,SAE9E,IAAK,IAAIj/E,EAAI,EAAGA,EAAIu5E,EAAiBnE,UAAU10E,OAAQV,IAAK,CACxD,MAAMm/E,EAAoB,IAANn/E,EACdo/E,EAAap/E,IAAMu5E,EAAiBnE,UAAU10E,OAAS,EAC7Ds6D,EAAUS,GAAaT,EAASue,EAAiBnE,UAAUp1E,IAEvDy+E,GAAkBU,IAClBnkB,GAAW5F,EACXilB,GAAgB,GAGpB,MAAMgF,EAAiB35E,KAAKy2E,gBAAgBnhB,GAE5C,GAAIqkB,EAAgB,CACZF,IACAN,EAAmB7jB,GAIvB,MAAM+jB,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QACrE,IAAIO,GAAY,EAqBhB,GAnBIZ,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,GAEjBgF,GAAY,GACL55E,KAAKg3E,iBAAiBsC,KAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,GACnBM,GAAY,GAGZA,IAAcxW,GAAe6V,GACzBj5E,KAAKg3E,iBAAiBjhB,GAAaT,EAAS,eAC5C8N,EAAcrE,GAAe/+D,KAAKg/D,WAAY1J,KAIjDokB,EAAY,CAGRE,IACD/O,EAAcxvE,KAAK,IACnBq5E,GAAqB,EACrBtR,OAActkE,GAElB,SAGJ,GAAI86E,EAAW,CACXzO,EAAkBnrE,KAAKw5E,qBAAqB3F,EAAiBnE,UAAUl0E,KAAK,KAAM85D,EAAS,CACvFgkB,EACAC,IAEJ,OAOR,IAAIM,EAAgBtiB,GAAgCjC,GACpD,MAAM+jB,EAA2B3gB,GAAYmhB,GAC7CA,EAAgBxlB,EAAiBwlB,GACjC,MAAMP,EAAavjB,GAAa8jB,EAAeR,EAA2B,OACpEE,EAAcxjB,GAAa8jB,EAAeR,EAA2B,QAE3E,GAAIL,GAAYh5E,KAAKg3E,iBAAiBuC,GAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,QAEd,GAAI50E,KAAKg3E,iBAAiBsC,GAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,OAChB,CACH,GAAIR,GAAkB94E,KAAKy2E,gBAAgBoD,GAAgB,CACvD,MACMC,EADa95E,KAAK+5E,qBAAqBF,GACRtO,MAAMj0B,GACvCt3C,KAAKg6E,wBAAwBX,EAA0B/hC,KAE3D,GAAIwiC,EAAmB,CACnB,MAAMG,EAAgBlkB,GAAa8jB,EAAeC,GAElDjF,EAAc70E,KAAKk6E,yBACfD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,KAKPgK,GAAe8E,GAChBpI,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACfq+E,IACAvO,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,IAC9E7E,GAAqB,IAElBG,GACPtD,EAAkBl2E,KAAK,sBAAsBk+E,UAAoBD,MAGzE,MAKR,MAAM7E,EAAmB5J,EAAc7vE,OAAS,GAAK6vE,EAAc7vE,OAAS64E,EAAiBnE,UAAU10E,OAOvG,OALIo+E,EADAP,EACchO,EAAc7vE,OAAS,EAEvB6vE,EAAc7vE,QAAU64E,EAAiBnE,UAAU10E,OAG9D,CACH2xE,aACA3C,YAAY,EACZ0K,qBACAC,gBACA/J,cAAewO,EACf3E,mBACAlD,oBACAzH,WAAY,EACZe,gBACAsL,WAAYtc,EACZ+a,aACAC,cACA1J,kBACA/H,cACA0R,wBAAyB3J,EACzBgO,oBAMEtB,kBAAkB9U,EAA+BwO,IAOjD4I,gBACNnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EAA8B,GAC9ByH,GAAW,IAQLoB,sBACNC,EACA1N,EACA4E,EAA8B,KAKxB+I,oBAAoB/hB,GAC1B,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAChF,GAAIE,KAAKw6E,6BAA6BD,GAClC,OAAO5hB,GAAmBA,GAAmBJ,IAK7C6c,sBACJrS,EACA4J,EACAsG,GAEA,MAAMwH,EAAkBz6E,KAAKszE,qBAAqB/uE,IAAIw+D,EAAQvxD,MAC9D,IAAKipE,EACD,OAGJ,MAAMC,EAAcD,EAAgBl2E,IAAIooE,GACxC,OAAK+N,EAIE16E,KAAKk0E,sBAAsBwG,EAAazH,QAJ/C,EAYIoC,4BAA4BxB,EAA4C1I,GAC5E,GAAI0I,EAAiBZ,iBACjB,IACKY,EAAiBZ,gBAAgBxkB,MAAMksB,GAC7BxP,EAAgB1c,MAAM2c,GAClBA,EAAe/+D,OAASsuE,MAIvC,OAAO,OAER,GAA+B,IAA3BxP,EAAgBnwE,OACvB,OAAO,EAEX,OAAO,EAGDu8E,sBACNqD,EACA/e,EACAgf,GAAuB,GAEvBD,EAAgBxlB,GAAiCwlB,GACjD,IAAI3D,EAA2Bte,GAAmBkD,GAOlD,GAJI77D,KAAKw6E,6BAA6BliB,GAAiBuD,MACnDob,EAA2Bte,GAAmBse,KAG7CA,EAAyBzhB,WAAWolB,GACrC,OAIA3D,EAAyBhd,SAAS,cAClCgd,EAA2BA,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,IAGpG,MACME,EAAQw5D,EADWuiB,EAAyBj1E,OAAO44E,EAAc5/E,SAGvE,GADAE,EAAMqkB,QACFs7D,EAAsB,CACtB,GAAqB,IAAjB3/E,EAAMF,OACN,OAEJE,EAAMqkB,QAGV,OAAqB,IAAjBrkB,EAAMF,SAONE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAI5DE,EAAMuzD,MAAMj8C,IAAOxS,KAAK86E,cAActoE,WAZ1C,EAgBOtX,EAAMM,KAAK,KAGd+5E,2BACJvE,EACAjO,EACA8Q,EACAmF,GAEA,MAAMrM,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAGpC,GAAIyH,GAAYh5E,KAAKqzE,eAAe4C,SAAU,CAC1C1E,EAAkBl2E,KAAK,wBAAwB2E,KAAKqzE,eAAe4C,aACnE,MAAM8E,EAAgB/6E,KAAKq0E,sBACvBr0E,KAAKqzE,eAAe4C,SACpBlT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAGzB,GAAI+B,EAAcnQ,cAId,OAFAmQ,EAAcjR,WAAa,EAC3BiR,EAAchR,oBAAqB,EAC5BgR,EAIf,IAAIC,EACAlQ,EAGA/H,EAAQvxD,OACR+/D,EAAkBl2E,KAA6D,uDAAI0nE,EAAQvxD,SAE3Fs5D,EAAc9qE,KAAKq0E,sBACftR,EAAQvxD,KACRuxD,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBlQ,GAGtB,IAAK,MAAMiL,KAAahT,EAAQiT,WAC5BzE,EAAkBl2E,KAAK,yBAAyB06E,MAChDjL,EAAc9qE,KAAKq0E,sBACf0B,EACAhT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBlQ,EAAa+I,GAIzE,MAAMqC,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,GAAI2E,EAAkBl7E,OAAS,EAC3B,IAAK,MAAMm7E,KAAcD,EAAmB,CACxC3E,EAAkBl2E,KAAK,kCAAkC86E,MAEzD,MAAM+E,EAAmBl7E,KAAKq0E,sBAC1B8B,EACApT,EACA8Q,EACAlH,EACA4E,GA9pCgC,GAgqCX,GACA,EACrByH,GACqB,GAGzB,GAAIkC,EAAkB,CAGlB,GAFAA,EAAiBpR,WAAa,EAE1BoR,EAAiBtQ,eAAiBsQ,EAAiBtG,WACnD,OAAOsG,EAGXF,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBE,EAAkBrH,SAIlFtC,EAAkBl2E,KAAK,qCAM3B,GAAI0nE,EAAQvxD,OAASxR,KAAKm7E,iBAAiBpY,EAASwO,KAC5CyJ,aAAe,EAAfA,EAAiB5X,eAAgB4X,EAAgBvG,iBACjD,OAAOuG,EAKf,MAAMI,EAAep7E,KAAKm6E,gBACtBnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EACAyH,GAGJ,GAAIoC,EACA,OAAOA,EAGX,GAAIpC,GAAYnF,EAAiBnE,UAAU10E,OAAS,EAAG,CAEnDu2E,EAAkBl2E,KAAK,oCACvB,MAAMggF,EAAuBr7E,KAAKs7E,kBAC9BvY,EACA8Q,EACAlH,GACe,EACf4E,GAGJ,GAAI8J,EAEA,OADAA,EAAqBE,gBAAiB,EAC/BF,EAIX9J,EAAkBl2E,KAAK,yCACvB,MAAMmgF,EAAiBx7E,KAAKs7E,kBACxBvY,EACA8Q,EACAlH,GACe,EACf4E,GAGAiK,IACAA,EAAeD,gBAAiB,EAChCP,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBQ,EAAgB3H,IAMhF,OAAOmH,EAGHC,gBACJQ,EACAC,EACA7H,GAEA,IAAK4H,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAGX,GAAIC,EAAU9Q,cAAe,CAEzB,IAAK6Q,EAAgB7Q,cACjB,OAAO8Q,EAIX,GAAID,EAAgB/G,qBAAuBgH,EAAUhH,mBACjD,OAAOgH,EAIX,GAAmC,IAA/BD,EAAgB3R,aAAoC2R,EAAgB/G,mBACpE,OAAO+G,EAIX,GACIA,EAAgB/G,oBAChBgH,EAAUhH,oBACVb,EAAiBZ,kBAGZjzE,KAAKq1E,4BAA4BxB,EAAkB4H,EAAgBtQ,kBACpEnrE,KAAKq1E,4BAA4BxB,EAAkB6H,EAAUvQ,iBAE7D,OAAOuQ,EAKf,GAAID,EAAgBrY,cAAgBsY,EAAUtY,YAC1C,OAAOqY,EACJ,IAAKA,EAAgBrY,aAAesY,EAAUtY,YACjD,OAAOsY,EAIX,GAAID,EAAgB7G,aAAe8G,EAAU9G,WACzC,OAAO6G,EACJ,IAAKA,EAAgB7G,YAAc8G,EAAU9G,WAChD,OAAO8G,EAIX,GAAID,EAAgB5Q,cAAc7vE,OAAS0gF,EAAU7Q,cAAc7vE,OAC/D,OAAO0gF,OAER,GAAIA,EAAUjH,kBAAoBgH,EAAgB/G,qBAAuBgH,EAAUhH,mBAGtF,OAAOgH,EAGX,OAAOD,EAGHX,cAAcx9E,GAClB,IAAK,IAAIhD,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC9B,GAAU,IAANA,GAAW6iE,GAAsB7/D,EAAMzC,WAAWP,KAAOkjE,GAAiBlgE,EAAMzC,WAAWP,IAC3F,OAAO,EAIf,OAAO,EAGDg4E,qBAAqBf,GAE3B,IAAKvxE,KAAK27E,yBAA0B,CAChC,MAAMplB,GACF,GACIv2D,KAAKg/D,WACLh/D,KAAKqzE,eACLrzE,KAAKsxE,KACLC,IACC,IACPztD,KAAKtR,GAAMxS,KAAKg/D,WAAWuC,aAAa/uD,KAG1CxS,KAAK27E,yBAA2B,IAAI,IAAI7qC,IAAIylB,IAGhD,OAAOv2D,KAAK27E,yBAGRL,kBACJvY,EACA8Q,EACAlH,EACAiP,EACArK,GAQA,IAAIsK,EACJ,GAPAtK,EAAkBl2E,KACd,wBACIugF,EAAW,GAAmC,WAKlDA,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,SAGrB8sE,EAAgB77E,KAAK87E,mCAAmCjI,EAAkB9Q,EAASwO,GAGvF,GAAIsK,EACA,IAAK,MAAME,KAAgBF,EACvB,GAAI77E,KAAKy2E,gBAAgBsF,GAAe,CACpC,MAAMpU,EAAa3nE,KAAKq0E,sBACpB0H,EACAhZ,EACA8Q,EACAlH,EACA4E,GAEJ,GAAI5J,EAAWiD,cAEX,OADAjD,EAAWmC,WAAa8R,EAAW,EAAqB,EACjDjU,EAMvB4J,EAAkBl2E,KAAK,2BASnB2gF,mCAAmCC,GACvCj8E,KAAKk8E,sCAAwC,IAAIp+D,IAE7Cm+D,GACAj8E,KAAKq4E,qBAAqB4D,GAAe32D,SAAS62D,IAC9C,GAAIA,EAAWvjB,cAAe,CAC1B,MAAMwjB,EAAermB,GAAakmB,EAAeE,EAAW9vE,MAE5DrM,KAAKq4E,qBAAqB+D,GAAc92D,SAAS+2D,IAC7C,GAAwB,aAApBA,EAAWhwE,KAIf,GAAIgwE,EAAWzjB,cAAe,CAC1B,MAAMka,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI83E,EAAWhwE,MACxEymE,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIk3E,EAAWhwE,KAAM,CAAC+vE,SAEnE,GAAIC,EAAWvjB,UACdujB,EAAWhwE,KAAK4tD,SAAS,QAAS,CAClC,MAAMqiB,EAAmB3jB,GAAmB0jB,EAAWhwE,MACjDymE,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI+3E,GAC7DxJ,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIm3E,EAAkB,CAACF,YAS/Fp8E,KAAKu8E,sCAAwC,IACtC,IAAIzrC,OAAO9wC,KAAKk8E,sCAAsCvzD,WAC3D6wC,OAGEsc,sCACJ9E,EACAjO,EACA8Q,EACA+H,EACAlG,GAEA,MAAMnE,EAA8B,GAEpC,IAAIsK,EACJ,GAAID,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,QAElB,CACH8sE,EAAgB77E,KAAK87E,mCACjBjI,EACA9Q,EACAwO,GACqB,GAGzB,MAAM6G,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,IACAyD,EAAgBA,UAAiB,GACjCA,EAAcxgF,KAAK+8E,IAItByD,GAILA,EAAcv2D,SAASy2D,IACf/7E,KAAKy2E,gBAAgBsF,IACrB/7E,KAAK41E,kCACD5E,EACAjO,EACAgZ,EACAlI,EACA6B,MASR4B,uBACJvU,EACAwO,EACAsC,GAEA,MAAM2I,EAAex8E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GACjF,IACIiL,IACA3I,GACC7zE,KAAKw3E,qCAAqC3D,EAAkB9Q,EAASwO,GAK1E,OAAOiL,EAGH7E,2BAA2B5U,EAA+BwO,GAC9D,OAAOvxE,KAAKy8E,0BAAwC,EAAO1Z,EAASwO,GAGhEiG,qCACJ3D,EACA9Q,EACAwO,GAEKvxE,KAAK08E,sCACN18E,KAAK08E,oCAAsC18E,KAAK28E,4BAA4B5Z,EAASwO,IAKzF,IAAK,IAAIqL,EAAgB,EAAGA,GAAiB/I,EAAiBnE,UAAU10E,OAAQ4hF,IAAiB,CAC7F,MAAMC,EAAsBhJ,EAAiBnE,UAAU9xE,MAAM,EAAGg/E,GAC1DE,EAAe98E,KAAK08E,oCAAoCn4E,IAAIs4E,EAAoBrhF,KAAK,MAC3F,GAAIshF,EAAc,CACd,GAAI/Z,EAAQga,cAAgBD,EAAa/5E,IACrC,OAAO,EAGX,QAAyBjE,IAArBg+E,EAAap3E,KAAqBq9D,EAAQga,cAAgBD,EAAap3E,IACvE,OAAO,GAKnB,OAAO,EAGHi3E,4BACJ5Z,EACAwO,GAEA,MAAMyL,EAAkB,IAAIl/D,IAGtBm/D,EAAqBj9E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GAEvF,GAAI0L,EAAoB,CACpB,MAAMC,EAAmBnnB,GAAaknB,EAAoB,YAC1D,IACI,MAAM9d,EAAYn/D,KAAKg/D,WAAWjG,SAASmkB,GACvC/d,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OAClBU,KAAKg/D,WAAWK,aAAa6d,EAAkB,QACvD3vE,MAAM,SAAS+X,SAAS4U,IACjC,MACMijD,EADejjD,EAAK3sB,MAAM,KACA,GAAGA,MAAM,KACzC,GAA0B,IAAtB4vE,EAAWniF,OACX,OAGJ,MAAMoiF,EAAeD,EAAW,GAAG5vE,MAAM,KACzC,GAAI6vE,EAAapiF,OAAS,EACtB,OAGJ,MAAMgwE,EAAamS,EAAW,GAAGv3E,OACjC,IAAKolE,EACD,OAGJ,IAAIqS,EAAmBD,EAAa,GAAGx3E,OACnCy3E,EAAiBpjB,SAAS,OAE1BojB,EAAmBA,EAAiBr7E,OAAO,EAAGq7E,EAAiBriF,OAAS,IAE5E,IAKIsiF,EALAC,EAAa/gB,GAAkB6gB,GAC9BE,IACDA,EAAanhB,GAAcohB,MAI3BJ,EAAapiF,OAAS,IACtBsiF,EAAa9gB,GAAkB4gB,EAAa,GAAGx3E,SAGnDo3E,EAAgB73E,IAAI6lE,EAAY,CAAEjoE,IAAKw6E,EAAY73E,IAAK43E,OAG5D/L,EAAkBl2E,KAAK,uDAE7B,MAAO4I,GACLstE,EAAkBl2E,KAAK,kDAAkD2T,KAAKC,UAAUhL,QAIhG,OAAO+4E,EAGHlB,mCACJjI,EACA9Q,EACAwO,EACAkM,GAAmB,GAEnB,MAAM1B,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAEzDvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAG5C,MAAM2B,EAAgB7J,EAAiBnE,UAAU10E,OAAS,EAAI64E,EAAiBnE,UAAU,GAAK,GAC9F,OAAI+N,EACOz9E,KAAKk8E,sCAAuC33E,IAAIm5E,GAGvDA,EvBh6CL,SAAoBn+E,GACvB,MAAMygB,EAAS,GACf,IAAK,MAAMoxC,KAAK7xD,EACR6xD,ID5MY9zD,EC6MA8zD,GD5Mb11D,MAAMuD,QAAUvD,MAAMuD,QAAQ3B,GAASA,aAAiB5B,OC6MnD4yD,EAAStuC,EAAQoxC,GAEjBpxC,EAAO3kB,KAAK+1D,IDhNrB,IAAiB9zD,ECoNpB,OAAO0iB,EuBs5CQ29D,CvBr1CZ,SAA4Bl9E,EAAciuD,GAC7C,MAAM/lC,EAAc,GAOpB,OANAloB,EAAE6kB,SAAQ,CAAC8rC,EAAG/+C,KuBo1CwD,CAACA,GAAMA,EAAEmjD,WAAWkoB,GvBn1ClFhvB,CAAUr8C,IACVsW,EAAOttB,KAAK+1D,MAIbzoC,EuB80CKi1D,CAAa59E,KAAKk8E,wCAInB,GAGH/D,mCAAmCpV,EAA+BwO,GACtE,MAAMwK,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAM9D,OAJKvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAGrC/7E,KAAKu8E,sCAGRpB,iBAAiBpY,EAA+BwO,GACpD,QAAiCzyE,IAA7BkB,KAAK69E,oBACL,OAAO79E,KAAK69E,oBAGhB,IAAI9B,EAAe,GAInB,GAAI/7E,KAAKqzE,eAAe0I,aAAc,CAClC,MAAM+B,EAAuB99E,KAAKqzE,eAAe0I,aAC7C/7E,KAAKy2E,gBAAgBqH,KACrB/B,EAAe+B,OAEhB,CACH,MAAM5H,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAM4H,EAAuB/nB,GAAaogB,EAAY,YACtD,GAAIn2E,KAAKy2E,gBAAgBqH,GAAuB,CAC5C/B,EAAe+B,EACf,QAWZ,OALK/B,IACDA,EDlsDL,SAAiCnmB,GACpC,IAAImoB,EAAkBnoB,EAAGmL,gBACzB,IAAKgd,EACD,OAGJA,EAAkB1pB,EAAiBe,GAAiCoB,GAAcunB,KAElF,MAAMhC,EAAehmB,GAAagoB,EAAiB,GACnD,GAAInoB,EAAGI,WAAW+lB,GACd,OAAOA,EAKX,MAAMiC,EAAoBjoB,GAAa1B,EAAiB0pB,GAAkB,GAC1E,OAAInoB,EAAGI,WAAWgoB,GACPA,OADX,ECkrDuB,CAAwCh+E,KAAKg/D,aAAe,IAG/Eh/D,KAAK69E,oBAAsB9B,EACpBA,EAGHU,yBAAyBb,EAAmB7Y,EAA+BwO,GAE/E,GAAIqK,GACA,QAAuC98E,IAAnCkB,KAAKi+E,0BACL,OAAOj+E,KAAKi+E,+BAGhB,QAA2Cn/E,IAAvCkB,KAAKk+E,8BACL,OAAOl+E,KAAKk+E,8BAIpB,IAAInC,EAAe/7E,KAAKm7E,iBAAiBpY,EAASwO,GAGlD,GAFAwK,ED/rDD,SAAiCA,EAAsBH,GAC1D,OAAO7lB,GAAagmB,EAAcH,EAAW1K,GAAmBC,IC8rD7C,CAAwC4K,EAAcH,GAEhE57E,KAAKy2E,gBAAgBsF,GAW1B,OANIH,EACA57E,KAAKi+E,0BAA4BlC,EAEjC/7E,KAAKk+E,8BAAgCnC,EAGlCA,EAGH7G,uBACJlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAEAA,EAAkBl2E,KAAK,yCAGvB,MAAM84D,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAErB,IAAKtb,EAED,YADAod,EAAkBl2E,KAAK,0BAA0BsxE,MAKrD,MAAMwR,EAAYn+E,KAAKq0E,sBACnBlgB,EACA4O,EACA8Q,EACAlH,EACA4E,GACmB,GACE,GAEzB,OAAOvxE,KAAKk0E,sBAAsBiK,EAAWtK,EAAiBZ,iBAG1D4C,kCACJ7E,EACAjO,EACA8Q,EACA6B,GAGA,MAAMvhB,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAEhBtb,GAKLn0D,KAAK41E,kCAAkC5E,EAAgBjO,EAAS5O,EAAW0f,EAAkB6B,GAGzFqE,qBAAqBzkB,GACzB,MAAM8oB,EAAep+E,KAAKq4E,qBAAqB/iB,GACzC+oB,EAAaD,EAAav1B,QAAQvR,GAAMA,EAAEwhB,WAAUh1C,KAAKwzB,GAAMA,EAAEjrC,OAUvE,OAPA+xE,EAAa94D,SAASgyB,I,MAClB,MAAMgnC,EAAWvoB,GAAaT,EAAShe,EAAEjrC,MACrCirC,EAAEoiB,mBAAsD,QAAlC,EAAAb,GAAQ74D,KAAKg/D,WAAYsf,UAAS,eAAExlB,WAC1DulB,EAAWhjF,KAAKi8C,EAAEjrC,SAInBgyE,EAGHzI,kCACJ5E,EACAjO,EACAlJ,EACAga,EACA6B,EACA6I,GAAa,GAIb,IAAIjpB,EAAUuE,EAId,MAAM6V,EAAYmE,EAAiBnE,UAAU5rD,KAAKzX,GAASA,IACvDwnE,EAAiB2K,gBACjB9O,EAAUr0E,KAAK,IAKnB,MAAMo0E,EAAcoE,EAAiBpE,YAC/BgP,EAAkB/O,EAAU9xE,MAAM,GAAI,GAI5C,GAAyB,IAArB8xE,EAAU10E,OACVgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACA,GACAogB,EACAjG,EACAgP,EACAF,QAGJ,IAAK,IAAIjkF,EAAI,EAAGA,EAAIo1E,EAAU10E,SAGtBV,IAAMo1E,EAAU10E,OAAS,GACzBgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACAoa,EAAUp1E,GACVo7E,EACAjG,EACAgP,EACAF,GAIRjpB,EAAUS,GAAaT,EAASoa,EAAUp1E,IACrC0F,KAAKy2E,gBAAgBnhB,IAjBQh7D,MAwBtCokF,gCACJ1N,EACAjO,EACA4b,EACA91B,EACA6sB,EACAjG,EACAgP,EACAF,GAGA,MAAM31D,EAAUuwC,GACZn5D,KAAKq4E,qBAAqBsG,GAC1B3+E,KAAKg/D,WACL2f,GAGJ/1D,EAAQywC,MAAM/zC,SAASoK,IAGnB,MAAM6qD,EAAgBjiB,GAAiB5oC,GAA8B,GAAO5vB,cACtE8+E,EAAuBjmB,GAAmBjpC,GAA8B,GAE9E,GAAIyjD,GAAwB1kB,MAAM9nD,GAAQA,IAAQ4zE,IAAgB,CAC9D,GAA6B,aAAzBqE,EACA,OAGJ,GAAI/1B,IAAW,EAA8BA,EAAQ+1B,GACjD,OAGJ,IACK5+E,KAAK6+E,yBAAyBD,EAAsBlJ,KACpD11E,KAAK8+E,wBACFF,EACAnP,EACAgP,EACAzN,EACAjO,EACAwb,GAGJ,OAGJ7I,EAAY9vD,IAAIg5D,OAIxBh2D,EAAQ0wC,YAAYh0C,SAAS1kB,IACrBioD,IAAWjoD,EAAI40D,WAAW3M,IAKzB7oD,KAAK6+E,yBAAyBj+E,EAAK80E,IACnC11E,KAAK8+E,wBAAwBl+E,EAAK6uE,EAAagP,EAAiBzN,EAAgBjO,EAASwb,IAK9F7I,EAAY9vD,IAAIhlB,MAMhBk+E,wBACJzyE,EACAojE,EACAgP,EACAzN,EACAjO,EACAwb,GAGA,MAAM1K,EAAmB,CACrBpE,YAAaA,EACbC,UAAW,IAAI+O,EAAiBpyE,GAChC4mE,gBAAiB,IAIrB,GAAIsL,EAAY,CACZ,MAAM5R,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAEpC,OAAOvxE,KAAKg0E,qBAAqBrH,EAAYqE,EAAgBjO,EAAS8Q,EAAkBtC,GACnF3G,cAGT,OAAO5qE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAAkBjJ,cAGlEiU,yBAAyBE,EAAyBrJ,GACtD,QAAIA,EAAYtxD,IAAI26D,IAKhB,OAAO/nC,KAAK+nC,IAKZvV,GAAauV,IAAwC,eAApBA,GAS/B7K,sBAAsBrK,EAA4BoJ,GACxD,QAAwBn0E,IAApBm0E,EAA+B,CAC/B,MAAM+L,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0B,GACnCkK,EAGX,GAA+B,IAA3B/L,EAAgBj4E,OAChB,OAAO6uE,EAGX,GAA4C,IAAxCA,EAAasB,gBAAgBnwE,OAC7B,OAAO6uE,EAGX,MAAMiL,EAA0BjL,EAAasB,gBAAgBtiB,QAAQuiB,GAC1D6H,EAAgBxkB,MAAM3iD,GAAQA,IAAQs/D,EAAe/+D,SAGhE,GAAIyoE,EAAwB95E,SAAW6uE,EAAasB,gBAAgBnwE,OAChE,OAAO6uE,EAGX,MAAMmV,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0BA,EACnCkK,EAGHxF,qBAAqB0F,EAA6B5pB,EAAiB6pB,GACvE,MAAMC,EAAoB,IAAIthE,IAGxB8K,EAAUuwC,GACZn5D,KAAKq4E,qBAAqB/iB,GAC1Bt1D,KAAKg/D,WACL1J,GAIJ,IAAK,MAAMiD,KAAY3vC,EAAQywC,MAAO,CAClC,MAAMgmB,EAAU/mB,GAAiBC,GACjC,IAAI+jB,EACAzH,GAAc,EAElB,GAAgB,QAAZwK,GAAiC,SAAZA,EACrB/C,EAAmB3jB,GAAmBJ,OACnC,KACHv4D,KAAKw6E,6BAA6B6E,IACjCr/E,KAAKg3E,iBAAiB,GAAGze,SACzBv4D,KAAKg3E,iBAAiB,GAAGze,SAM1B,SAHA+jB,EAAmB/jB,EAASv2D,OAAO,EAAGu2D,EAAS18D,QAAQ,MACvDg5E,GAAc,EAKlB,MAAMhZ,EAAW9F,GAAaT,EAASiD,GACvC,IAAK4mB,EAAW5T,MAAM+T,GAAcA,IAAczjB,IAAW,CACzD,MAAMuP,EAAiC,CACnCwJ,WAAYrc,EAAS0B,SAAS,QAC9B4a,cACAxoE,KAAMiwE,EACNvtE,KAAM8sD,GAIJpC,EAAQ2lB,EAAkB76E,IAAI6mE,EAAe/+D,MACnD,IAAKotD,IAAUA,EAAMmb,WAAY,CAE7B,GAAIC,EAAa,CACb,MAAMoF,EAAgBlkB,GAAaT,EAASiD,GACtCgnB,EAAiBv/E,KAAKo6E,sBACxBH,EACA,GAAGiF,KAAuB5C,IAC1B,IAEAiD,IACAnU,EAAer8D,KAAOwwE,EACtBnU,EAAeyJ,aAAc,GAGrCuK,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,KAMvD,IAAK,MAAM6G,KAAWrpD,EAAQ0wC,YAAa,CACvC,MAAMggB,EAAavjB,GAAaT,EAAS2c,EAAS,eAC5CsH,EAAcD,EAAa,IACjC,IAAI1E,GAAa,EACb7lE,EAAO,GASX,GAPI/O,KAAKg3E,iBAAiBuC,IACtB3E,GAAa,EACb7lE,EAAOwqE,GACAv5E,KAAKg3E,iBAAiBsC,KAC7BvqE,EAAOuqE,GAGPvqE,IACKowE,EAAW5T,MAAM+T,GAAcA,IAAcvwE,IAAO,CACrD,MAAMq8D,EAAiC,CACnCwJ,aACAC,aAAa,EACbxoE,KAAM4lE,EACNljE,QAGJqwE,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,IAKvD,MAAO,IAAIgU,EAAkBz2D,UAGvBorD,iBAAiBF,GACvB,MAAO,IAAI2L,OAAO3L,EAAiBpE,aAAeoE,EAAiBnE,UAAUl0E,KAAK,KAG9E0+E,yBACJD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,GAEA,IAAI4U,EAAiB9S,EAErB,GAAIkH,EAAiBpE,YAAc,EAAG,CAElC,MAAMxzD,EAAOjc,KAAKk3E,uBAAuB+C,EAAelX,GACxD0c,EAAiBxjE,EAAK+uD,WAAWhwE,OAAS,EAAIihB,EAAK+uD,WAAayU,EAGpE,MAAMC,EAAmB1/E,KAAKo6E,sBAAsBH,EAAewF,EAAgBlO,GACnF,OAAImO,GACAnO,EAAkBl2E,KAAK,0BAA0BsxE,gBAAyB+S,MAC1E7U,EAAcxvE,KAAKqkF,IACZ,IAGXnO,EAAkBl2E,KAAK,8BAA8B4+E,MACrDpP,EAAcxvE,KAAK4+E,IACZ,GAGHD,wBAAwBhP,EAAoBzS,GAIhD,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAC1E6/E,EAAmBhnB,GAAmBJ,GAAkC,GAC9E,OACIv4D,KAAKw6E,6BAA6BD,IAClC1mB,EAA6BmX,EAAY2U,GAIzCnF,6BAA6BD,GACjC,OAAOrH,GAA6BzkB,MAAM9nD,GAAQA,IAAQ4zE,IAGtDhG,WAAW/rD,GACf,OAAIkyC,GAAelyC,GACR,EAAC,EAAO,IAGZ,EACH,EACA4sC,GACIwG,GAAkB57D,KAAKg/D,WAAYxI,GAAcT,GAAavtC,EAAS,UAK3E4rD,cAAc5rD,EAAiBhX,EAAcuxD,GACjD,OAAOv6C,EAAQxtB,OAASwW,EAAKxW,QAAWwtB,IAAYhX,IAASuxD,EAAQvxD,KAG/D2iE,8BAA8BnD,EAAwB4O,GAC5D,OACWxqB,GADPwqB,EACwChkB,GAAkB57D,KAAKg/D,WAAYxI,GAAcopB,IAGrDvrB,EAAiB2c,KCnpE1D,MAAM6O,GAAqB,I,0BAAIpxD,qBAClC,mBCLJ,IAAIqxD,GAGG,SAASC,GAAsBzO,GAClCwO,GAAQxO,EAGZ,SAASA,KACL,IAAKwO,GACD,MAAM,IAAIlkF,MAAM,4BAEpB,OAAOkkF,GAGJ,SAASE,KACZ,OAAO1O,KAAO0O,uBAOX,SAASC,KACZ,OAAO3O,KAAO2O,aAGX,SAASC,KACZ,OAAO5O,KAAO4O,WAQX,SAASC,GAAe7iF,EAAY8iF,GACvC,GAAI1kF,MAAMuD,QAAQ3B,GACd,OAAOA,EAAMwmB,IAAIs8D,GAErB,GAUmBhvB,EAVD9zD,EAW2B,oBAAtCR,OAAOE,UAAUwC,SAASsB,KAAKswD,GAXZ,CACtB,MAAMivB,EAAcvjF,OAAOqV,OAAO,MAIlC,OAHArV,OAAO8rB,QAAQtrB,GAAOgoB,SAAQ,EAAEjT,EAAG++C,MAC/BivB,EAAYhuE,GAAK+tE,EAAOhvB,MAErBivB,EAKf,IAAuBjvB,EAHnB,OAAOgvB,EAAO9iF,GClEX,MAAMgjF,GAGTr0E,cACIjM,KAAKugF,WAAa9/D,KAAKC,MAG3B8/D,4BAEI,OADgB//D,KAAKC,MACJ1gB,KAAKugF,WAG1BE,uBACI,OAAOzgF,KAAKwgF,4BAA8B,KAI3C,MAAME,GAAb,cACI,KAAAC,UAAY,EACZ,KAAAC,UAAY,EACZ,KAAAC,UAAW,EAEXC,cAAiBntE,GAIb,GAHA3T,KAAK4gF,YAGD5gF,KAAK6gF,SACL,OAAOltE,IACJ,CACH3T,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACftgE,EAASrM,IAIf,OAHA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,EAET7gE,GAIfghE,iBAAiBrtE,GACb,GAAI3T,KAAK6gF,SAAU,CACf7gF,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACrB3sE,IACA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,OAEhBltE,IAIRstE,YACI,MAAMC,EAAiBlhF,KAAK2gF,UAAY,IAExC,OADoB79E,KAAKwmB,MAAuB,IAAjB43D,GAAwB,KACpC1hF,WAAa,OAsCjC,MAAM2hF,GAAc,IAlCpB,MAAP,cACI,KAAAC,cAAgB,IAAId,GACpB,KAAAe,cAAgB,IAAIX,GACpB,KAAAY,aAAe,IAAIZ,GACnB,KAAAa,iBAAmB,IAAIb,GACvB,KAAAc,cAAgB,IAAId,GACpB,KAAAe,mBAAqB,IAAIf,GACzB,KAAAgB,mBAAqB,IAAIhB,GACzB,KAAAiB,SAAW,IAAIjB,GACf,KAAAkB,gBAAkB,IAAIlB,GACtB,KAAAmB,mBAAqB,IAAInB,GAEzBoB,aAAa39E,GACTA,EAAQ8X,KAAK,gBAAgBjc,KAAKohF,cAAcX,6BAGpDsB,aAAa59E,GACTA,EAAQ8X,KAAK,IACb9X,EAAQ8X,KAAK,gBACb9X,EAAQ8X,KAAK,yBAA2Bjc,KAAKqhF,cAAcJ,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKshF,aAAaL,aAC1D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKuhF,iBAAiBN,aAC9D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKwhF,cAAcP,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKyhF,mBAAmBR,aAChE98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK2hF,SAASV,aACtD98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK4hF,gBAAgBX,aAC7D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK0hF,mBAAmBT,aAGpEe,mBACI,OAAOhiF,KAAKohF,cAAcX,yBClFrBwB,GAA0CxlE,MAiBhD,SAASylE,GACZC,EACAC,EACA/Q,EACA19D,EACAxP,EACA6c,GAEA,IAAIqhE,GAAgB,EAEpB1uE,EAAWA,UAAYsuE,GAEvB,IACI,GAA6BjhE,GAE7B,MAAM+/D,EAAW,IAAIT,GACrB+B,EAAgBF,EAAQG,QAAQF,EAASphE,GAEzC,MAAMuhE,EAAqBJ,EAAQK,yBAC7B59C,EAAcu9C,EAAQM,eAAepR,GACrCqR,EAAsB99C,EAAY5pC,OAClC2nF,EAAc5B,EAASN,wBAGzBiC,EAAsB,IAAML,IAC5B1uE,EAAS,CACLixB,cACAg+C,eAAgBT,EAAQU,eACxBC,uBAAwBP,EACxBQ,sBAAuBZ,EAAQa,0BAC/BC,oBAAoB,EACpBC,0BAA0B,EAC1BP,gBAGV,MAAO1+E,GACL,GAAImgE,GAA2B7vD,GAAGtQ,GAC9B,OAAO,EAGX,MAAMsI,IxB+BiBnI,EwB/BcH,GxBiC9BqI,MAAQlI,EAAMkI,MAAM9M,gBAAaV,KACd,iBAAlBsF,EAAMmI,QAAuBnI,EAAMmI,aAAUzN,IACrDkQ,KAAKC,UAAU7K,GwBlCfD,EAAQC,MAAM,8BAAgCmI,GAE9CoH,EAAS,CACLixB,YAAa,GACbg+C,eAAgB,EAChBE,uBAAwB,EACxBC,uBAAuB,EACvBE,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,EACbv+E,MAAO,EAA2BH,KxBoBvC,IAAwBG,EwBhB3B,OAAOi+E,E,IC9ECc,G,8BAAZ,SAAYA,GACR,gBACA,cACA,cACA,YAJJ,CAAYA,QAAQ,KAwCb,MAAMC,GACTx0E,IAAIrC,GACApI,QAAQ8X,KAAK1P,GAGjB0P,KAAK1P,GACDpI,QAAQ8X,KAAK1P,GAGjByP,KAAKzP,GACDpI,QAAQ6X,KAAKzP,GAGjBnI,MAAMmI,GACFpI,QAAQC,MAAMmI,IA0Cf,MAAM82E,GAUTp3E,YAAoBq3E,EAAoCC,EAAQ,IAA5C,KAAAD,WAAoC,KAAAC,QAThD,KAAAC,UAAiC,IAAI1lE,IAAI,CAC7C,CAACqlE,GAASvnF,MAAO,GACjB,CAACunF,GAASM,KAAM,GAChB,CAACN,GAASpsD,KAAM,GAChB,CAACosD,GAASnsD,IAAK,KAGX,KAAA0sD,UAAY,EAIpB,YACI,OAAQ1jF,KAAK0jF,WACT,KAAK,EACD,OAAOP,GAASvnF,MAEpB,KAAK,EACD,OAAOunF,GAASM,KAEpB,KAAK,EACD,OAAON,GAASpsD,KAGxB,OAAOosD,GAASnsD,IAGpB,UAAU15B,GACN,IAAIqmF,EAAW3jF,KAAKwjF,UAAUj/E,IAAIjH,QACjBwB,IAAb6kF,IACAA,EAAW3jF,KAAKwjF,UAAUj/E,IAAI4+E,GAASpsD,OAG3C/2B,KAAK0jF,UAAYC,EAGrBv/E,MAAMmI,GACFvM,KAAK4jF,KAAKT,GAASvnF,MAAO,GAAGoE,KAAK6jF,UAAUt3E,KAGhDyP,KAAKzP,GACDvM,KAAK4jF,KAAKT,GAASM,KAAM,GAAGzjF,KAAK6jF,UAAUt3E,KAG/C0P,KAAK1P,GACDvM,KAAK4jF,KAAKT,GAASpsD,KAAM,GAAG/2B,KAAK6jF,UAAUt3E,KAG/CqC,IAAIrC,GACAvM,KAAK4jF,KAAKT,GAASnsD,IAAK,GAAGh3B,KAAK6jF,UAAUt3E,KAG9C,cACI,OAAOvM,KAAKujF,MAAQ,IAAIvjF,KAAKujF,UAAY,GAGrCK,KAAKE,EAAiBv3E,GACtBvM,KAAK+jF,mBAAmBD,GAAS9jF,KAAK0jF,WAI1C90E,GAAI5O,KAAKsjF,SAAUQ,EAAOv3E,GAGtBw3E,mBAAmBD,GACvB,MAAME,EAAehkF,KAAKwjF,UAAUj/E,IAAIu/E,GAExC,OADA,OAA8BhlF,IAAjBklF,EAA4B,mCACjBllF,IAAjBklF,EAA6BA,EAAe,GAIpD,SAASp1E,GAAIzK,EAA2B8/E,EAAmBj3E,GAC9D,OAAQi3E,GACJ,KAAKd,GAASnsD,IACV7yB,EAAQyK,IAAI5B,GACZ,MAEJ,KAAKm2E,GAASpsD,KACV5yB,EAAQ8X,KAAKjP,GACb,MAEJ,KAAKm2E,GAASM,KACVt/E,EAAQ6X,KAAKhP,GACb,MAEJ,KAAKm2E,GAASvnF,MACVuI,EAAQC,MAAM4I,GACd,MAEJ,QACI,EAAW,GAAGi3E,sBCxLnB,MAAMC,GAKTj4E,YAAoBq3E,EAAgDO,GAAhD,KAAAP,WAAgD,KAAAO,UAJ5D,KAAAM,YAAc,IAAIvrC,GAClB,KAAAwrC,aAAe,GACf,KAAAC,gBAA4B,GAIpCz1E,IAAOwtB,EAAezoB,EAAkC2wE,GAAkB,EAAIC,GAAiB,GAE3F,QAAsBzlF,IAAlBkB,KAAKsjF,SACL,OAAO3vE,EAAS3T,KAAKmkF,aAIzB,MAAML,EAAS9jF,KAAKsjF,SAAiBQ,MACrC,QAAchlF,IAAVglF,GAAwBA,IAAUX,GAASnsD,KAAO8sD,IAAUX,GAASpsD,KACrE,OAAOpjB,EAAS3T,KAAKmkF,aAKzB,MAAM37D,EAAUxoB,KAAKokF,aACrBpkF,KAAKqkF,gBAAgBhpF,KAAK,GAAGmtB,IAAU4T,SAEvCp8B,KAAKokF,cAAgB,KACrB,MAAM9lE,EAAQ,IAAIs6B,GAElB,IACI,OAAOjlC,EAAS2K,G,QAEhB,MAAMkmE,EAAalmE,EAAMyiE,SAIzB,GAHA/gF,KAAKokF,aAAe57D,EAGhBxoB,KAAKqkF,gBAAgBrpF,OAAS,IAAMsjB,EAAMmmE,gBAAkBD,GAAcF,GAE1EtkF,KAAKqkF,gBAAgBpqC,UAClB,CACHj6C,KAAK0kF,uBAEL,IAAIzoF,EAAS,IAAI+D,KAAK6jF,YAAY7jF,KAAKokF,eAAehoD,IAAQ9d,EAAM/Z,UAAUigF,OAI1ED,GACAjmE,EAAMqmE,cACFrmE,EAAMsmE,cACNtmE,EAAMumE,aACNvmE,EAAMwmE,oBACNxmE,EAAMymE,aACN,IAEJ9oF,GAAU,OAAOqiB,EAAMqmE,oBAAoBrmE,EAAMsmE,oBAAoBtmE,EAAMumE,mBAAmBvmE,EAAMwmE,0BAA0BxmE,EAAMymE,iBAGxI/kF,KAAKsjF,SAAS10E,IAAI3S,GAGduoF,GA5DiB,KA6DjBxkF,KAAKsjF,SAASrnE,KAAK,IAAIjc,KAAK6jF,4BAA4BznD,MAAUooD,UAM1EE,uBAIJ,GAFA1kF,KAAKqkF,gBAAgBpqC,QAEjBj6C,KAAKqkF,gBAAgBrpF,QAAU,GAAnC,CAIA,IAAK,MAAMgqF,KAAiBhlF,KAAKqkF,gBAC7BrkF,KAAKsjF,SAAU10E,IAAI,IAAI5O,KAAK6jF,YAAYmB,KAG5ChlF,KAAKqkF,gBAAgBrpF,OAAS,IAStC,MAAM49C,GAAN,cAIY,KAAAqsC,OAAS,IAAI3E,GACb,KAAA4E,WAAa/D,GAAYG,aAAaX,UACtC,KAAAwE,YAAchE,GAAYI,iBAAiBZ,UAC3C,KAAAyE,YAAcjE,GAAYK,cAAcb,UACxC,KAAA0E,aAAelE,GAAYM,mBAAmBd,UAC9C,KAAA2E,WAAanE,GAAYQ,SAAShB,UAE1C,eACI,OAAO3gF,KAAKilF,OAAOzE,4BAGvB,oBACI,OAAOW,GAAYG,aAAaX,UAAY3gF,KAAKklF,WAGrD,oBACI,OAAO/D,GAAYI,iBAAiBZ,UAAY3gF,KAAKmlF,YAGzD,mBACI,OAAOhE,GAAYK,cAAcb,UAAY3gF,KAAKolF,YAGtD,0BACI,OAAOjE,GAAYM,mBAAmBd,UAAY3gF,KAAKqlF,aAG3D,mBACI,OAAOlE,GAAYQ,SAAShB,UAAY3gF,KAAKslF,WAGjD1/D,IAAI2/D,GACIA,IACAvlF,KAAKwlF,UAAYD,GAIzBhhF,MACI,OAAIvE,KAAKwlF,UACE,KAAKxlF,KAAKwlF,aAGd,GAGXC,WACIzlF,KAAK0lF,WAAY,EAGrBjB,eACI,QAASzkF,KAAK0lF,WCoEf,SAASC,GAAsBzd,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS4mF,GAAmB1d,GAC/B,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS6mF,GAAuB3d,GACnC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS8mF,GAAsB5d,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS+mF,GAAmB7d,GAC/B,OAAqB,IAAdA,EAAKlpE,KClGhB,IAAIgnF,GAAc,EAKX,SAAS,GAAYte,EAAqBue,GACzCA,EAASnqF,MAAQ4rE,EAAK5rE,QACtB4rE,EAAK1sE,QAAU0sE,EAAK5rE,MAAQmqF,EAASnqF,MACrC4rE,EAAK5rE,MAAQmqF,EAASnqF,OAGtB0oE,GAAUmB,OAAOsgB,GAAYzhB,GAAUmB,OAAO+B,KAC9CA,EAAK1sE,OAASwpE,GAAUmB,OAAOsgB,GAAYve,EAAK5rE,OAWjD,IAAUoqF,GAmBAC,GAqBAC,GAsCAC,GA8BAC,GAqCAC,GA0BAC,GA0BAC,GA2BAC,GA8BAC,GAqCAC,GAsBAC,GA2EAC,GAyBAC,GAqBAC,GAuBAC,GAiHAC,GA2CAC,GA8BAC,GAmCAC,GA2BAC,GA0BAC,GA2BAC,GAwCAC,GAiCAC,GAyBAC,GA+BAC,GAwBAC,GAsBAC,GAkCAC,GAwBAC,GAqCAC,GAkBAC,GAwBAC,GAwBAC,GA4BAC,GAyBAC,GAoBAC,GAkBAC,GAoBAC,GAuBAC,GAwBAC,GAuCAC,GA2BAC,GAoBAC,GAyBAC,GAuBAC,GAmBAC,GA2BAC,GA4BAC,GAkBAC,GAkBAC,GAuBAC,GAqBAC,GA0BAC,GA2BAC,GAqBAC,GAmBAC,GAoBAC,GAsBAC,GAiBAC,GAkBAC,GAoBAC,GAmBAC,GA2BAC,GAsCAC,GAoCAC,GAiCAC,GAsBAC,GA8BAC,GA6BAC,GA2BAC,GA8BAC,GA4BAC,GAuBAC,GA1gDV,SAASC,GAAiBnjB,GAC7B,OAAQA,EAAKjB,UACT,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAEX,QACI,OAAO,IA/iBnB,SAAiByf,GACG,EAAA/zE,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiByb,QAAU,KAmB3B,SAAiBC,GACG,EAAAh0E,OAAhB,SAAuB1F,GASnB,MARwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiB0b,QAAS,KAqB1B,SAAiBC,GACG,EAAAj0E,OAAhB,SACI24E,EACAC,EACAC,EACAC,GAEA,MAAMvjB,EAAe,CACjB5rE,MAAOgvF,EAAchvF,MACrBd,OAAQ8vF,EAAc9vF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAC,UACAC,aAaJ,OAVAF,EAAe5lD,OAASuiC,EACxBsjB,EAAQ7lD,OAASuiC,EAEjB,GAAYA,EAAMqjB,GAClB,GAAYrjB,EAAMsjB,GACdC,IACA,GAAYvjB,EAAMujB,GAClBA,EAAU9lD,OAASuiC,GAGhBA,GA3Bf,CAAiB0e,QAAM,KAsCvB,SAAiBC,GACG,EAAAl0E,OAAhB,SAAuB+4E,EAAmBH,EAAgCI,GACtE,MAAMzjB,EAAkB,CACpB5rE,MAAOovF,EAAWpvF,MAClBd,OAAQkwF,EAAWlwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAI,cAQJ,OALAJ,EAAe5lD,OAASuiC,EACxByjB,EAAWhmD,OAASuiC,EAEpB,GAAYA,EAAMyjB,GAEXzjB,GAhBf,CAAiB2e,QAAS,KA8B1B,SAAiBC,GACG,EAAAn0E,OAAhB,SACIi5E,EACAC,EACAC,EACAC,GAEA,MAAM7jB,EAAgB,CAClB5rE,MAAOsvF,EAAStvF,MAChBd,OAAQowF,EAASpwF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,qBACAC,YASJ,OANAF,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAC5B6jB,EAASpmD,OAASuiC,EAElB,GAAYA,EAAM6jB,GAEX7jB,GAvBf,CAAiB4e,QAAO,KAqCxB,SAAiBC,GACG,EAAAp0E,OAAhB,SAAuBq5E,EAAmBH,EAAkCC,GACxE,MAAM5jB,EAAiC,CACnC5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,sBASJ,OANAD,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAE5B,GAAYA,EAAM2jB,GAClB,GAAY3jB,EAAM4jB,GAEX5jB,GAjBf,CAAiB6e,QAAwB,KA0BzC,SAAiBC,GACG,EAAAr0E,OAAhB,SAAuBs5E,EAAgBV,GACnC,MAAMrjB,EAAgC,CAClC5rE,MAAO2vF,EAAQ3vF,MACfd,OAAQywF,EAAQzwF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiB8e,QAAuB,KA0BxC,SAAiBC,GACG,EAAAt0E,OAAhB,SAAuBu5E,EAAiBC,GACpC,MAAMjkB,EAAgB,CAClB5rE,MAAO4vF,EAAS5vF,MAChBd,OAAQ0wF,EAAS1wF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJ2F,WACAC,cAAe,IAOnB,OAJAD,EAASxmD,OAASuiC,EAElB,GAAYA,EAAMikB,GAEXjkB,GAff,CAAiB+e,QAAO,KA2BxB,SAAiBC,GACG,EAAAv0E,OAAhB,SAAuB05E,EAAoBC,EAAwBC,GAC/D,MAAMrkB,EAAmB,CACrB5rE,MAAO+vF,EAAY/vF,MACnBd,OAAQ6wF,EAAY7wF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ8F,cACAC,iBAOJ,OAJAD,EAAY3mD,OAASuiC,EAErB,GAAYA,EAAMokB,GAEXpkB,GAff,CAAiBgf,QAAU,KA8B3B,SAAiBC,GACG,EAAAx0E,OAAhB,SAAuB65E,EAAiB3/E,EAAgB4/E,GACpD,MAAMvkB,EAAqB,CACvB5rE,MAAOkwF,EAASlwF,MAChBd,OAAQgxF,EAAShxF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACAg3B,WAAY,GACZ4oD,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAlBf,CAAiBif,QAAY,KAqC7B,SAAiBC,GACG,EAAAz0E,OAAhB,SAAuBq5E,EAAmBW,GAStC,MAR4B,CACxBrwF,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ1nB,SAAU6tB,IAPtB,CAAiBvF,QAAa,KAsB9B,SAAiBC,GACG,EAAA10E,OAAhB,SAAuBi6E,EAAmB//E,EAAgB4/E,GACtD,MAAMvkB,EAAkB,CACpB5rE,MAAOswF,EAAWtwF,MAClBd,OAAQoxF,EAAWpxF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACA3M,UAAW,GACXusF,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAMK,EAAA2kB,yBAAhB,SAAyCH,GACrC,MAAMxkB,EAAkB,CACpB5rE,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACRyrE,SAAU,GACV7pD,GAAIopE,KACJkG,aACA7/E,KAAM,CACFvQ,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVzlD,MAAO,CACHhiB,KAAM,EACNlD,MAAO,EACPd,OAAQ,EACRsxF,SAAU,GACVhvF,MAAO,IAEXA,MAAO,IAEXoC,UAAW,GACXusF,MAAO,CACHnwF,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVgE,WAAY,KAYpB,OARAyhB,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,EACnB,GAAYA,EAAM6kB,MAGtB7kB,EAAKr7D,KAAK84B,OAASuiC,EACnBA,EAAKukB,MAAM9mD,OAASuiC,EAEbA,GA/Df,CAAiBmf,QAAS,KA2E1B,SAAiBC,GACG,EAAA30E,OAAhB,SAAuBq6E,EAAkBP,GACrC,MAAMvkB,EAAiB,CACnB5rE,MAAO0wF,EAAU1wF,MACjBd,OAAQwxF,EAAUxxF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJyG,UAAW,GACXR,SAOJ,OAJAA,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAff,CAAiBof,QAAQ,KAyBzB,SAAiBC,GACG,EAAA50E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAqB,CACvB5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBqf,QAAY,KAqB7B,SAAiBC,GACG,EAAA70E,OAAhB,SAAuBu6E,EAAgB36B,GACnC,MAAM2V,EAAsB,CACxB5rE,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBsf,QAAa,KAuB9B,SAAiBC,GACG,EAAA90E,OAAhB,SAAuBu6E,GASnB,MARgC,CAC5B5wF,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiBwc,QAAiB,KAiHlC,SAAiBC,GACG,EAAA/0E,OAAhB,SACIw6E,EACAruB,EACA5H,EACAw1B,GAEA,MAAMxkB,EAAkB,CACpB5rE,MAAO6wF,EAAa7wF,MACpBd,OAAQ2xF,EAAa3xF,OACrByrE,SAAU,EACV7pD,GAAIopE,KACJ1nB,WACA5H,QACAw1B,cAkBJ,OAfIx1B,IACAA,EAAMvxB,OAASuiC,EACf,GAAYA,EAAMhR,IAGlBw1B,IACAA,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,KAGnBwkB,EAAWlxF,OAAS,GACpB,GAAY0sE,EAAMwkB,EAAW,KAI9BxkB,GAhCf,CAAiBwf,QAAS,KA2C1B,SAAiBC,GACG,EAAAh1E,OAAhB,SAAuBy6E,EAAsB76B,EAA4B86B,G,MACrE,MAAMnlB,EAA2B,CAC7B5rE,MAAO8wF,EAAc9wF,MACrBd,OAAQ4xF,EAAc5xF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ6G,WACAD,gBACA76B,cAQJ,OALAA,EAAW5sB,OAASuiC,EACpBA,EAAKolB,cAAgB,GAA6B,QAAxB,EAAA/6B,EAAW+6B,qBAAa,QAAI,GAEtD,GAAYplB,EAAM3V,GAEX2V,GAjBf,CAAiByf,QAAkB,KA8BnC,SAAiBC,GACG,EAAAj1E,OAAhB,SACIu0D,EACAqmB,EACAH,EACAC,G,QAEA,MAAMnlB,EAA4B,CAC9B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAkmB,gBACAC,WACAE,mBAUJ,OAPArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzBA,EAAKolB,cAAgB,EAAIhqF,KAAK4C,IAAgC,QAA5B,EAAAghE,EAAeomB,qBAAa,QAAI,EAAgC,QAA7B,EAAAC,EAAgBD,qBAAa,QAAI,GAEtG,GAAYplB,EAAMqlB,GAEXrlB,GAzBf,CAAiB0f,QAAmB,KAmCpC,SAAiBC,GACG,EAAAl1E,OAAhB,SAAuB9F,EAAgB0gF,GACnC,MAAMrlB,EAAiC,CACnC5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,EACV7pD,GAAIopE,KACJ35E,OACA0gF,mBAQJ,OALA1gF,EAAK84B,OAASuiC,EACdqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB2f,QAAwB,KA2BzC,SAAiBC,GACG,EAAAn1E,OAAhB,SAAuBu0D,EAAgCqmB,GACnD,MAAMrlB,EAAuB,CACzB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAqmB,mBAQJ,OALArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB4f,QAAc,KA0B/B,SAAiBC,GACG,EAAAp1E,OAAhB,SAAuB20D,EAAiCkmB,GACpD,MAAMtlB,EAA2B,CAC7B5rE,MAAOgrE,EAAgBhrE,MACvBd,OAAQ8rE,EAAgB9rE,OACxByrE,SAAU,GACV7pD,GAAIopE,KACJlf,kBACAkmB,kBAQJ,OALAlmB,EAAgB3hC,OAASuiC,EACzBslB,EAAe7nD,OAASuiC,EAExB,GAAYA,EAAMslB,GAEXtlB,GAhBf,CAAiB6f,QAAkB,KA2BnC,SAAiBC,GACG,EAAAr1E,OAAhB,SACI86E,EACAC,EACAC,EACAC,GAEA,MAAM1lB,EAA+B,CACjC5rE,MAAOmxF,EAAenxF,MACtBd,OAAQiyF,EAAejyF,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJkH,sBACAC,uBACAC,wBAUJ,OAPAD,EAAqB7nE,SAAS9S,IAC1BA,EAAE2yB,OAASuiC,KAEf0lB,EAAqBjoD,OAASuiC,EAE9B,GAAYA,EAAM0lB,GAEX1lB,GAxBf,CAAiB8f,QAAsB,KAwCvC,SAAiBC,GACG,EAAAt1E,OAAhB,SACIu0D,EACAqmB,EACAF,EACAQ,GAEA,MAAM3lB,EAAgC,CAClC5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAmmB,WACAE,kBACAM,kBASJ,OANA3mB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EACzB2lB,EAAeloD,OAASuiC,EAExB,GAAYA,EAAMqlB,GAEXrlB,GAxBf,CAAiB+f,QAAuB,KAiCxC,SAAiBC,GACG,EAAAv1E,OAAhB,SAAuBm7E,EAAmBv7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOwxF,EAAWxxF,MAClBd,OAAQsyF,EAAWtyF,OACnByrE,SAAU,EACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBggB,QAAS,KAyB1B,SAAiBC,GACG,EAAAx1E,OAAhB,SACIo7E,EACAxC,EACAyC,GAEA,MAAM9lB,EAAoB,CACtB5rE,MAAOyxF,EAAazxF,MACpBd,OAAQuyF,EAAavyF,OACrByrE,SAAU,GACV7pD,GAAIopE,KACJuH,eACAxC,iBACAyC,kBASJ,OANAD,EAAapoD,OAASuiC,EACtBqjB,EAAe5lD,OAASuiC,EACxB8lB,EAAeroD,OAASuiC,EAExB,GAAYA,EAAM8lB,GAEX9lB,GAtBf,CAAiBigB,QAAW,KA+B5B,SAAiBC,GACG,EAAAz1E,OAAhB,SAAuBs7E,EAAkB17B,GACrC,MAAM2V,EAAmB,CACrB5rE,MAAO2xF,EAAU3xF,MACjBd,OAAQyyF,EAAUzyF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBkgB,QAAU,KAwB3B,SAAiBC,GACG,EAAA11E,OAAhB,SAAuB1F,EAAkBihF,GAUrC,MATwB,CACpB5xF,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,GACbglB,qBARZ,CAAiB7F,QAAS,KAsB1B,SAAiBC,GACG,EAAA31E,OAAhB,SAAuBu0D,EAAgCinB,EAAyBhnB,G,MAC5E,MAAMe,EAAiB,CACnB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAhnE,UAAWiuF,EACXhnB,iBAcJ,OAXAD,EAAevhC,OAASuiC,EAExBA,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEtDa,EAAQ3yF,OAAS,IACjB2yF,EAAQroE,SAASroB,IACbA,EAAIkoC,OAASuiC,KAEjB,GAAYA,EAAMimB,EAAQA,EAAQ3yF,OAAS,KAGxC0sE,GAvBf,CAAiBogB,QAAQ,KAkCzB,SAAiBC,GACG,EAAA51E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA8B,CAChC5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,aACA67B,WAAY,IAKhB,OAFA77B,EAAW5sB,OAASuiC,EAEbA,GAbf,CAAiBqgB,QAAqB,KAwBtC,SAAiBC,GACG,EAAA71E,OAAhB,SACIg1D,EACApkC,EACA4jC,EACAknB,G,MAEA,MAAMnmB,EAAkB,CACpB5rE,MAAOqrE,EAAerrE,MACtBd,OAAQmsE,EAAensE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJ7e,iBACApkC,QACA4jC,iBAYJ,OATAQ,EAAehiC,OAASuiC,EACxB3kC,EAAMzd,SAAS0C,IACXA,EAAKmd,OAASuiC,KAGlB,GAAYA,EAAMmmB,GAElBnmB,EAAKolB,cAAgB,GAAiC,QAA5B,EAAA3lB,EAAe2lB,qBAAa,QAAI,GAEnDplB,GA1Bf,CAAiBsgB,QAAS,KAqC1B,SAAiBC,GACG,EAAA91E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBiC,QAAS,KAkB1B,SAAiBC,GACG,EAAA/1E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAQJ,OALIA,IACAA,EAAW5sB,OAASuiC,EACpB,GAAYA,EAAM3V,IAGf2V,GAff,CAAiBwgB,QAAS,KAwB1B,SAAiBC,GACG,EAAAh2E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAsB,CACxB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBygB,QAAa,KAwB9B,SAAiBC,GACG,EAAAj2E,OAAhB,SAAuBu0D,EAAgCW,G,MACnD,MAAMK,EAAyB,CAC3B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJtf,iBACAW,cAUJ,OAPAX,EAAevhC,OAASuiC,EACxBL,EAAWliC,OAASuiC,EAEpB,GAAYA,EAAML,GAElBK,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEnDplB,GAlBf,CAAiB0gB,QAAgB,KA4BjC,SAAiBC,GACG,EAAAl2E,OAAhB,SAAuB47E,EAAoBh8B,GACvC,MAAM2V,EAAmB,CACrB5rE,MAAOiyF,EAAYjyF,MACnBd,OAAQ+yF,EAAY/yF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ3iD,WAAY,GACZ0uB,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAff,CAAiB2gB,QAAU,KAyB3B,SAAiBC,GACG,EAAAn2E,OAAhB,SAAuB67E,GAUnB,MATuB,CACnBlyF,MAAOkyF,EAAUlyF,MACjBd,OAAQgzF,EAAUhzF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhlE,MAAOgtE,EACP1wF,MAAO0wF,EAAU1wF,QAR7B,CAAiBgrF,QAAQ,KAoBzB,SAAiBC,GACG,EAAAp2E,OAAhB,SAAuB6O,GASnB,MAR2B,CACvBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJiI,UAAWjtE,EAAMktE,cAP7B,CAAiB3F,QAAY,KAkB7B,SAAiBC,GACG,EAAAr2E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBwC,QAAY,KAoB7B,SAAiBC,GACG,EAAAt2E,OAAhB,SAAuB6O,GAWnB,MAVyB,CACrBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ1oF,MAAO0jB,EAAM1jB,MACb4P,UAAW8T,EAAM9T,UACjB85D,YAAahmD,EAAMgmD,cAT/B,CAAiByhB,QAAU,KAuB3B,SAAiBC,GACG,EAAAv2E,OAAhB,SAAuB6O,EAAoBmtE,EAAwBC,GAW/D,MAVyB,CACrBtyF,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,sBATZ,CAAiB1F,QAAU,KAwB3B,SAAiBC,GACG,EAAAx2E,OAAhB,SACI6O,EACAmtE,EACAC,EACA1lB,GAEA,MAAMhB,EAAyB,CAC3B5rE,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,oBACA1lB,eAOJ,OAJAA,EAAYpjD,SAAS+oE,IACjBA,EAAKlpD,OAASuiC,KAGXA,GAtBf,CAAiBihB,QAAgB,KAuCjC,SAAiBC,GACG,EAAAz2E,OAAhB,SAAuB+0D,GACnB,MAAMQ,EAAuB,CACzB5rE,MAAOorE,EAAQ,GAAGprE,MAClBd,OAAQksE,EAAQ,GAAGlsE,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ9e,WAUJ,OAPIA,EAAQlsE,OAAS,IACjBksE,EAAQ5hD,SAASljB,IACbA,EAAI+iC,OAASuiC,KAEjB,GAAYA,EAAMR,EAAQA,EAAQlsE,OAAS,KAGxC0sE,GAjBf,CAAiBkhB,QAAc,KA2B/B,SAAiBC,GACG,EAAA12E,OAAhB,SAAuB1F,GASnB,MAR6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBigE,QAAc,KAoB/B,SAAiBC,GACG,EAAA32E,OAAhB,SAAuBm8E,EAA+BxnB,GAClD,MAAMY,EAA+B,CACjC5rE,MAAOwyF,EAAcxyF,MACrBd,OAAQszF,EAActzF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJsI,gBACAxnB,mBAQJ,OALAwnB,EAAcnpD,OAASuiC,EACvBZ,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAhBf,CAAiBohB,QAAsB,KAyBvC,SAAiBC,GACG,EAAA52E,OAAhB,SAAuBo8E,GACnB,MAAM7mB,EAAkC,CACpC5rE,MAAOyyF,EAAiBzyF,MACxBd,OAAQuzF,EAAiBvzF,OACzByrE,SAAU,GACV7pD,GAAIopE,KACJuI,oBAKJ,OAFAA,EAAiBppD,OAASuiC,EAEnBA,GAZf,CAAiBqhB,QAAyB,KAuB1C,SAAiBC,GACG,EAAA72E,OAAhB,SAAuB1F,GASnB,MARsB,CAClB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBogE,QAAO,KAmBxB,SAAiBC,GACG,EAAA92E,OAAhB,SAAuB1F,GASnB,MARuB,CACnB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBqgE,QAAQ,KA2BzB,SAAiBC,GACG,EAAA/2E,OAAhB,SACIq5E,EACA1kB,EACA0nB,GAEA,MAAM9mB,EAAqB,CACvB5rE,MAAO0vF,EAAaA,EAAW1vF,MAAQgrE,EAAgBhrE,MACvDd,OAAQwwF,EAAaA,EAAWxwF,OAAS8rE,EAAgB9rE,OACzDyrE,SAAU,EACV7pD,GAAIopE,KACJlf,kBACAF,iBAAkB4nB,GAOtB,OAJA1nB,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAnBf,CAAiBwhB,QAAY,KA4B7B,SAAiBC,GACG,EAAAh3E,OAAhB,SAAuBs8E,GASnB,MARsB,CAClB3yF,MAAO2yF,EAAS3yF,MAChBd,OAAQyzF,EAASzzF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,KAPzB,CAAiBygB,QAAO,KAkBxB,SAAiBC,GACG,EAAAj3E,OAAhB,SAAuBu8E,GAQnB,MAPuB,CACnB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBoD,QAAQ,KAkBzB,SAAiBC,GACG,EAAAl3E,OAAhB,SAAuBu8E,GASnB,MARyB,CACrB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ/gF,KAAM,KAPlB,CAAiBokF,QAAU,KAuB3B,SAAiBC,GACG,EAAAn3E,OAAhB,SAAuB1F,GAUnB,MAT6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvW,YAAa,EACbC,UAAW,KARvB,CAAiB4Z,QAAc,KAqB/B,SAAiBC,GACG,EAAAp3E,OAAhB,SAAuBL,GACnB,MAAM41D,EAAqB,CACvB5rE,MAAOgW,EAAOhW,MACdd,OAAQ8W,EAAO9W,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJl0E,UAKJ,OAFAA,EAAOqzB,OAASuiC,EAETA,GAZf,CAAiB6hB,QAAY,KA0B7B,SAAiBC,GACG,EAAAr3E,OAAhB,SAAuBw8E,EAAkB78E,GACrC,MAAM41D,EAAuB,CACzB5rE,MAAO6yF,EAAU7yF,MACjBd,OAAQ2zF,EAAU3zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJl0E,SACAw5D,QAAS,GACTU,kBAAkB,EAClB4iB,YAAY,GAOhB,OAJA98E,EAAOqzB,OAASuiC,EAEhB,GAAYA,EAAM51D,GAEX41D,GAjBf,CAAiB8hB,QAAc,KA2B/B,SAAiBC,GACG,EAAAt3E,OAAhB,SAAuB9F,GACnB,MAAMq7D,EAAyB,CAC3B5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,GACV7pD,GAAIopE,KACJ35E,QAKJ,OAFAA,EAAK84B,OAASuiC,EAEPA,GAZf,CAAiB+hB,QAAgB,KAqBjC,SAAiBC,GACG,EAAAv3E,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBnF,QAAU,KAmB3B,SAAiBC,GACG,EAAAx3E,OAAhB,SAAuB1F,GASnB,MAR2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBlF,QAAY,KAoB7B,SAAiBC,GACG,EAAAz3E,OAAhB,SAAuB28E,EAAoB/D,GACvC,MAAMrjB,EAAmB,CACrB5rE,MAAOgzF,EAAYhzF,MACnBd,OAAQ8zF,EAAY9zF,OACpByrE,SAAU,EACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiBkiB,QAAU,KAsB3B,SAAiBC,GACG,EAAA13E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,EACV7pD,GAAIopE,OANhB,CAAiB6D,QAAS,KAiB1B,SAAiBC,GACG,EAAA33E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB8D,QAAY,KAkB7B,SAAiBC,GACG,EAAA53E,OAAhB,SAAuB1F,GAQnB,MAPyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB+D,QAAU,KAoB3B,SAAiBC,GACG,EAAA73E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBgE,QAAS,KAmB1B,SAAiBC,GACG,EAAA93E,OAAhB,SAAuB48E,EAAuBC,GAC1C,MAAMtnB,EAAkB,CACpB5rE,MAAOizF,EAAWjzF,MAClBd,OAAQ+zF,EAAW/zF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJgJ,oBACAC,MAAO,IAOX,OAJAD,EAAkB7pD,OAASuiC,EAE3B,GAAYA,EAAMsnB,GAEXtnB,GAff,CAAiBuiB,QAAS,KA2B1B,SAAiBC,GACG,EAAA/3E,OAAhB,SACI+8E,EACAl5D,EACAm5D,EACAC,EACAnD,GAEA,MAAMvkB,EAAiB,CACnB5rE,MAAOozF,EAAUpzF,MACjBd,OAAQk0F,EAAUl0F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACAm5D,gBACAC,kBACAnD,SAYJ,OATA,GAAYvkB,EAAMukB,GAElBj2D,EAAQmP,OAASuiC,EACjBukB,EAAM9mD,OAASuiC,EAEX0nB,IACAA,EAAgBjqD,OAASuiC,GAGtBA,GA5Bf,CAAiBwiB,QAAQ,KAsCzB,SAAiBC,GACG,EAAAh4E,OAAhB,SAAuBk9E,EAAuBzmE,GAC1C,MAAM0mE,EAAiB1mE,EAAQ2mE,WAC1B91B,GAC+B,IAA5BA,EAAM+1B,WAAWx0F,QACgB,KAAjCy+D,EAAM+1B,WAAW,GAAG/oB,UACpBhN,EAAM+1B,WAAW,GAAGC,SAGtB/nB,EAA4B,CAC9B5rE,MAAOuzF,EAAWvzF,MAClBd,OAAQq0F,EAAWr0F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,UACA0mE,eAAgBA,GAAkB,EAAIA,OAAiBxwF,GAW3D,OARI8pB,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GA1Bf,CAAiByiB,QAAmB,KAoCpC,SAAiBC,GACG,EAAAj4E,OAAhB,SAAuBq9E,EAA+B3pF,GAClD,MAAM6hE,EAAsB,CACxB5rE,MAAO0zF,EAAW,GAAG1zF,MACrBd,OAAQw0F,EAAW,GAAGx0F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJwJ,aACA3pF,UAgBJ,OAbI2pF,EAAWx0F,OAAS,GACpB,GAAY0sE,EAAM8nB,EAAWA,EAAWx0F,OAAS,IAGrDw0F,EAAWlqE,SAAS0Q,IAChBA,EAAQmP,OAASuiC,KAGjB7hE,IACA,GAAY6hE,EAAM7hE,GAClBA,EAAOs/B,OAASuiC,GAGbA,GAxBf,CAAiB0iB,QAAa,KAiC9B,SAAiBC,GACG,EAAAl4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA2B,CAC7B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiB2iB,QAAkB,KAsBnC,SAAiBC,GACG,EAAAn4E,OAAhB,SAAuBu9E,EAAwCt4E,GAC3D,MAAMswD,EAAyB,CAC3B5rE,MAAO4zF,EAAU5zF,MACjBd,OAAQ00F,EAAU10F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ0J,YACAhwF,UAAW0X,GAYf,OATAs4E,EAAUvqD,OAASuiC,EACnBtwD,EAAKkO,SAASroB,IACVA,EAAIkoC,OAASuiC,KAGbtwD,EAAKpc,OAAS,GACd,GAAY0sE,EAAMtwD,EAAKA,EAAKpc,OAAS,IAGlC0sE,GApBf,CAAiB4iB,QAAgB,KA8BjC,SAAiBC,GACG,EAAAp4E,OAAhB,SAAuB6jB,EAAwB3pB,GAC3C,MAAMq7D,EAAiC,CACnC5rE,MAAOk6B,EAAQl6B,MACfd,OAAQg7B,EAAQh7B,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACA3pB,QAUJ,OAPA2pB,EAAQmP,OAASuiC,EAEbr7D,IACA,GAAYq7D,EAAMr7D,GAClBA,EAAK84B,OAASuiC,GAGXA,GAlBf,CAAiB6iB,QAAwB,KA6BzC,SAAiBC,GACG,EAAAr4E,OAAhB,SAAuBtM,EAAkB4nF,GACrC,MAAM/lB,EAA2B,CAC7B5rE,MAAO+J,EAAO/J,MACdd,OAAQ6K,EAAO7K,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJngF,SACA4pF,YAAsB3wF,IAAd2uF,EACRkC,WAA6B,MAAjB9pF,EAAOvI,OASvB,OANAuI,EAAOs/B,OAASuiC,EAEZ+lB,GACA,GAAY/lB,EAAM+lB,GAGf/lB,GAlBf,CAAiB8iB,QAAkB,KA2BnC,SAAiBC,GACG,EAAAt4E,OAAhB,SAAuBq5E,EAAuB5iE,GAC1C,MAAM8+C,EAA2B,CAC7B5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,WAWJ,OARIA,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GAlBf,CAAiB+iB,QAAkB,KA8BnC,SAAiBC,GACG,EAAAv4E,OAAhB,SACIy9E,EACAC,GAEA,MAAMnoB,EAAmC,CACrC5rE,MAAO8zF,EAAW9zF,MAClBd,OAAQ40F,EAAW50F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ4J,aACAC,gBAQJ,OALAD,EAAWzqD,OAASuiC,EACpBmoB,EAAa1qD,OAASuiC,EAEtB,GAAYA,EAAMmoB,GAEXnoB,GAnBf,CAAiBgjB,QAA0B,KA4B3C,SAAiBC,GACG,EAAAx4E,OAAhB,SAAuB29E,EAA0BjqF,GAC7C,MAAM6hE,EAAsC,CACxC5rE,MAAOg0F,EAAch0F,MACrBd,OAAQ80F,EAAc90F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJngF,UAOJ,OAJAA,EAAOs/B,OAASuiC,EAEhB,GAAYA,EAAM7hE,GAEX6hE,GAdf,CAAiBijB,QAA6B,KAuB9C,SAAiBC,GACG,EAAAz4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAyB,CAC3B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBkjB,QAAgB,KC/lE1B,MAAM,GACTmF,KAAKroB,GACD,MAAMsoB,EAAiBhwF,KAAKiwF,UAAUvoB,GAClCsoB,EAAeh1F,OAAS,GACxBgF,KAAKkwF,aAAaF,GAI1BE,aAAaC,GACTA,EAAM7qE,SAASoiD,IACPA,GACA1nE,KAAK+vF,KAAKroB,MAUtBuoB,UAAUvoB,G,MACN,OAAQA,EAAKjB,UACT,KAAK,EACD,GAAIzmE,KAAKowF,WAAW1oB,GAChB,MAAO,CAACA,EAAKhR,SAA0B,QAAf,EAAAgR,EAAKwkB,kBAAU,QAAI,IAE/C,MAEJ,KAAK,EACD,GAAIlsF,KAAKqwF,cAAc3oB,GACnB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKZ,iBAE5B,MAEJ,KAAK,EACD,GAAI9mE,KAAKswF,YAAY5oB,GACjB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAK6oB,qBAEtC,MAEJ,KAAK,EACD,GAAIvwF,KAAKwwF,gBAAgB9oB,GACrB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,gBAAiBrlB,EAAK+oB,uBAE5D,MAEJ,KAAK,EACD,GAAIzwF,KAAK0wF,0BAA0BhpB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKqlB,iBAE5B,MAEJ,KAAK,EACD,GAAI/sF,KAAK2wF,yBAAyBjpB,GAC9B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK4wF,WAAWlpB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,EACD,GAAI/xD,KAAK6wF,qBAAqBnpB,GAC1B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK8wF,WAAWppB,GAChB,MAAO,GAEX,MAEJ,KAAK,EACD,GAAI1nE,KAAK+wF,UAAUrpB,GACf,MAAO,CAACA,EAAKhB,kBAAmBgB,EAAKhoE,WAEzC,MAEJ,KAAK,GACD,GAAIM,KAAKgxF,WAAWtpB,GAChB,MAAO,IAAIA,EAAKwkB,WAAYxkB,EAAKr7D,QAASq7D,EAAKhoE,UAAWgoE,EAAKukB,OAEnE,MAEJ,KAAK,GACD,GAAIjsF,KAAKixF,cAAcvpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKkxF,cAAcxpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKmxF,eAAezpB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKoxF,SAAS1pB,GACd,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKqxF,gBAAgB3pB,GACrB,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKsxF,2BAA2B5pB,GAChC,MAAO,CAACA,EAAK6mB,kBAEjB,MAEJ,KAAK,GACD,GAAIvuF,KAAKuxF,wBAAwB7pB,GAC7B,MAAO,CAACA,EAAK4mB,cAAe5mB,EAAKZ,iBAErC,MAEJ,KAAK,GACD,GAAI9mE,KAAKwxF,cAAc9pB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKyxF,QAAQ/pB,GACb,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKsjB,QAAStjB,EAAKujB,WAEpD,MAEJ,KAAK,GACD,GAAIjrF,KAAK0xF,YAAYhqB,GACjB,OAAOA,EAAKziE,KAEhB,MAEJ,KAAK,GACD,GAAIjF,KAAK2xF,cAAcjqB,GACnB,MAAO,CAACA,EAAK51D,OAAQ41D,EAAKyE,OAE9B,MAEJ,KAAK,GACD,GAAInsE,KAAK4xF,gBAAgBlqB,GACrB,MAAO,CAACA,EAAK51D,UAAW41D,EAAK4D,SAEjC,MAEJ,KAAK,GACD,GAAItrE,KAAK6xF,kBAAkBnqB,GACvB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKyE,OAE5B,MAEJ,KAAK,GACD,GAAInsE,KAAK8xF,WAAWpqB,GAChB,MAAO,CAACA,EAAKP,kBAAmBO,EAAK3kC,OAEzC,MAEJ,KAAK,GACD,GAAI/iC,KAAK+xF,YAAYrqB,GACjB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKr7D,KAAMq7D,EAAKokB,aAEjD,MAEJ,KAAK,GACD,GAAI9rF,KAAKiyF,SAASvqB,GACd,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,mBAAoB5jB,EAAK6jB,SAAU7jB,EAAKujB,WAEhF,MAEJ,KAAK,GACD,GAAIjrF,KAAKkyF,kBAAkBxqB,GACvB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKmyF,cAAczqB,GACnB,MAAO,IACAA,EAAKwkB,WACRxkB,EAAKr7D,QACFq7D,EAAKrkC,WACRqkC,EAAK0lB,qBACL1lB,EAAK0qB,0BACL1qB,EAAKukB,OAGb,MAEJ,KAAK,GACD,GAAIjsF,KAAKqyF,YAAY3qB,GACjB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKsyF,YAAY5qB,GACjB,MAAO,IAAIA,EAAKrkC,WAAYqkC,EAAK3V,YAErC,MAEJ,KAAK,GACD,GAAI/xD,KAAKuyF,UAAU7qB,GACf,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKwyF,uBAAuB9qB,GAC5B,MAAO,CAACA,EAAK3V,cAAe2V,EAAKkmB,YAErC,MAEJ,KAAK,GACD,GAAI5tF,KAAKyyF,0BAA0B/qB,GAC/B,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,oBAExC,MAEJ,KAAK,GACD,GAAItrF,KAAK0yF,yBAAyBhrB,GAC9B,MAAO,CAACA,EAAKqjB,gBAEjB,MAEJ,KAAK,GACD,GAAI/qF,KAAK2yF,kBAAkBjrB,GACvB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKL,YAEtC,MAEJ,KAAK,GACD,GAAIrnE,KAAK4yF,YAAYlrB,GACjB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAK6yF,gBAAgBnrB,GACrB,OAAOA,EAAKgI,UAEhB,MAEJ,KAAK,GACD,GAAI1vE,KAAK8yF,UAAUprB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAK+yF,cAAcrrB,GACnB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKgzF,YAAYtrB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKizF,eAAevrB,GACpB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKslB,eAAgBtlB,EAAK+oB,sBAAuB/oB,EAAKwrB,cAE7E,MAEJ,KAAK,GACD,GAAIlzF,KAAKmzF,UAAUzrB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKozF,WAAW1rB,GAChB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKZ,gBAAiBY,EAAK2rB,qBAE5D,MAEJ,KAAK,GACD,GAAIrzF,KAAKszF,YAAY5rB,GACjB,MAAO,CAACA,EAAK6rB,kBAEjB,MAEJ,KAAK,GACD,GAAIvzF,KAAKwzF,SAAS9rB,GACd,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKyzF,WAAW/rB,GAChB,MAAO,CAACA,EAAKgsB,WAAYhsB,EAAKisB,SAAUjsB,EAAKksB,WAEjD,MAEJ,KAAK,GACD,GAAI5zF,KAAK6zF,mBAAmBnsB,GACxB,OAAOA,EAAK+C,WAEhB,MAEJ,KAAK,GACD,GAAIzqE,KAAK8zF,gBAAgBpsB,GACrB,MAAO,CAACA,EAAKslB,kBAAmBtlB,EAAKR,SAEzC,MAEJ,KAAK,GACD,GAAIlnE,KAAK+zF,YAAYrsB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKg0F,WAAWtsB,GAChB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAKi0F,aAAavsB,GAClB,MAAO,CAACA,EAAK6lB,aAAc7lB,EAAKqjB,eAAgBrjB,EAAK8lB,gBAEzD,MAEJ,KAAK,GACD,GAAIxtF,KAAKk0F,WAAWxsB,GAChB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKm0F,SAASzsB,GACd,MAAO,CAACA,EAAKikB,YAAajkB,EAAKkkB,cAAelkB,EAAKujB,UAAWvjB,EAAK0sB,cAEvE,MAEJ,KAAK,GACD,GAAIp0F,KAAKq0F,oBAAoB3sB,GACzB,MAAO,CAACA,EAAKZ,gBAAiBY,EAAKslB,gBAEvC,MAEJ,KAAK,GACD,GAAIhtF,KAAKs0F,oBAAoB5sB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKu0F,YAAY7sB,GACjB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKw0F,WAAW9sB,GAChB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKyjB,WAAYzjB,EAAKujB,WAEvD,MAEJ,KAAK,GACD,GAAIjrF,KAAKy0F,UAAU/sB,GACf,MAAO,IAAIA,EAAK+kB,UAAW/kB,EAAKukB,OAEpC,MAEJ,KAAK,GACD,GAAIjsF,KAAK00F,cAAchtB,GACnB,MAAO,CAACA,EAAK3V,WAAY2V,EAAK7hE,QAElC,MAEJ,KAAK,GACD,GAAI7F,KAAK20F,WAAWjtB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK40F,eAAeltB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK60F,wBAAwBntB,GAC7B,MAAO,IAAIA,EAAKylB,qBAAsBzlB,EAAK0lB,sBAE/C,MAEJ,KAAK,GACD,GAAIptF,KAAK80F,WAAWptB,GAChB,MAAO,CAACA,EAAKsnB,qBAAsBtnB,EAAKunB,OAE5C,MAEJ,KAAK,GACD,GAAIjvF,KAAK+0F,UAAUrtB,GACf,MAAO,CAACA,EAAK1xC,QAAS0xC,EAAK0nB,gBAAiB1nB,EAAKukB,OAErD,MAEJ,KAAK,GACD,GAAIjsF,KAAKg1F,qBAAqBttB,GAC1B,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKi1F,eAAevtB,GACpB,MAAO,IAAIA,EAAK8nB,WAAY9nB,EAAK7hE,QAErC,MAEJ,KAAK,GACD,GAAI7F,KAAKk1F,oBAAoBxtB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKm1F,kBAAkBztB,GACvB,MAAO,CAACA,EAAKgoB,aAAchoB,EAAKhoE,WAEpC,MAEJ,KAAK,GACD,GAAIM,KAAKo1F,oBAAoB1tB,GACzB,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKq1F,oBAAoB3tB,GACzB,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKs1F,4BAA4B5tB,GACjC,MAAO,CAACA,EAAKkoB,WAAYloB,EAAKmoB,cAElC,MAEJ,KAAK,GACD,GAAI7vF,KAAKu1F,+BAA+B7tB,GACpC,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKw1F,kBAAkB9tB,GACvB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKy1F,0BAA0B/tB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAK1xC,SAE5B,MAEJ,QACIk8B,EAAK,wBAIb,MAAO,GAIXm+B,cAAc3oB,GACV,OAAO,EAGX4oB,YAAY5oB,GACR,OAAO,EAGX8oB,gBAAgB9oB,GACZ,OAAO,EAGXgpB,0BAA0BhpB,GACtB,OAAO,EAGXipB,yBAAyBjpB,GACrB,OAAO,EAGXkpB,WAAWlpB,GACP,OAAO,EAGXmpB,qBAAqBnpB,GACjB,OAAO,EAGXopB,WAAWppB,GACP,OAAO,EAGXqpB,UAAUrpB,GACN,OAAO,EAGXqtB,UAAUrtB,GACN,OAAO,EAGXspB,WAAWtpB,GACP,OAAO,EAGXusB,aAAavsB,GACT,OAAO,EAGXwpB,cAAcxpB,GACV,OAAO,EAGXupB,cAAcvpB,GACV,OAAO,EAGXypB,eAAezpB,GACX,OAAO,EAGX0pB,SAAS1pB,GACL,OAAO,EAGX2pB,gBAAgB3pB,GACZ,OAAO,EAGX6pB,wBAAwB7pB,GACpB,OAAO,EAGX4pB,2BAA2B5pB,GACvB,OAAO,EAGX0oB,WAAW1oB,GACP,OAAO,EAGX8pB,cAAc9pB,GACV,OAAO,EAGX+pB,QAAQ/pB,GACJ,OAAO,EAGXgqB,YAAYhqB,GACR,OAAO,EAGXiqB,cAAcjqB,GACV,OAAO,EAGXkqB,gBAAgBlqB,GACZ,OAAO,EAGXmqB,kBAAkBnqB,GACd,OAAO,EAGXoqB,WAAWpqB,GACP,OAAO,EAGXqqB,YAAYrqB,GACR,OAAO,EAGXuqB,SAASvqB,GACL,OAAO,EAGXwqB,kBAAkBxqB,GACd,OAAO,EAGXyqB,cAAczqB,GACV,OAAO,EAGXmtB,wBAAwBntB,GACpB,OAAO,EAGX2qB,YAAY3qB,GACR,OAAO,EAGX4qB,YAAY5qB,GACR,OAAO,EAGX6qB,UAAU7qB,GACN,OAAO,EAGX8qB,uBAAuB9qB,GACnB,OAAO,EAGX+qB,0BAA0B/qB,GACtB,OAAO,EAGXgrB,yBAAyBhrB,GACrB,OAAO,EAGXotB,WAAWptB,GACP,OAAO,EAGXirB,kBAAkBjrB,GACd,OAAO,EAGXkrB,YAAYlrB,GACR,OAAO,EAGXmrB,gBAAgBnrB,GACZ,OAAO,EAGXorB,UAAUprB,GACN,OAAO,EAGXqrB,cAAcrrB,GACV,OAAO,EAGXsrB,YAAYtrB,GACR,OAAO,EAGXurB,eAAevrB,GACX,OAAO,EAGXyrB,UAAUzrB,GACN,OAAO,EAGX0tB,oBAAoB1tB,GAChB,OAAO,EAGXytB,kBAAkBztB,GACd,OAAO,EAGX+tB,0BAA0B/tB,GACtB,OAAO,EAGXutB,eAAevtB,GACX,OAAO,EAGXwtB,oBAAoBxtB,GAChB,OAAO,EAGX6tB,+BAA+B7tB,GAC3B,OAAO,EAGXstB,qBAAqBttB,GACjB,OAAO,EAGX8tB,kBAAkB9tB,GACd,OAAO,EAGX4tB,4BAA4B5tB,GACxB,OAAO,EAGX2tB,oBAAoB3tB,GAChB,OAAO,EAGX0rB,WAAW1rB,GACP,OAAO,EAGX4rB,YAAY5rB,GACR,OAAO,EAGX8rB,SAAS9rB,GACL,OAAO,EAGX+rB,WAAW/rB,GACP,OAAO,EAGXmsB,mBAAmBnsB,GACf,OAAO,EAGXqsB,YAAYrsB,GACR,OAAO,EAGXosB,gBAAgBpsB,GACZ,OAAO,EAGXssB,WAAWtsB,GACP,OAAO,EAGXwsB,WAAWxsB,GACP,OAAO,EAGXysB,SAASzsB,GACL,OAAO,EAGX2sB,oBAAoB3sB,GAChB,OAAO,EAGX4sB,oBAAoB5sB,GAChB,OAAO,EAGX6sB,YAAY7sB,GACR,OAAO,EAGX8sB,WAAW9sB,GACP,OAAO,EAGX+sB,UAAU/sB,GACN,OAAO,EAGXgtB,cAAchtB,GACV,OAAO,EAGXitB,WAAWjtB,GACP,OAAO,EAGXktB,eAAeltB,GACX,OAAO,GCvzBR,SAASguB,GAAahuB,GACzB,IAAIiuB,EAAQ,EACR1sB,EAAiCvB,EAErC,KAAOuB,GACH0sB,IACA1sB,EAAUA,EAAQ9jC,OAGtB,OAAOwwD,EAkBJ,SAASC,GAAiBluB,EAAiBhmE,GAC9C,GAAIA,EAASgmE,EAAK5rE,OAAS4F,EAAS8iE,GAAUmB,OAAO+B,GACjD,OAGJ,MAIM1jC,GAJkB,IAAI,IAIKisD,UAAUvoB,GAC3C,IAAK,MAAMhR,KAAS1yB,EAChB,GAAI0yB,EAAO,CACP,MAAMm/B,EAAkBD,GAAiBl/B,EAAOh1D,GAChD,GAAIm0F,EACA,OAAOA,EAKnB,OAAOnuB,EAGJ,SAASouB,GAAiBC,EAAsB/qB,EAAoB0kB,GACvE,MAAMhgB,EAAsB,CAACggB,GAE7B,IAAIzmB,EAAiC8sB,EAGrC,KAAO9sB,GACHA,EAAU+sB,GAAkB/sB,GACxBA,GACAyG,EAAUr0E,KAAK4tE,EAAQ58D,KAAK/O,OAMpC,OAFAoyE,EAAUr0E,KAAK2vE,GAER0E,EAAUumB,UAAUz6F,KAAK,KAO7B,SAAS06F,GAAgBxuB,GAC5B,OAAOA,EAAK5rE,MAGT,SAASq6F,GAAczuB,EAAoBwB,GAC9C,IAAIktB,EAAS,GAUb,OAT8B,IAA1B1uB,EAAKd,iBACLwvB,EAAS,IACwB,IAA1B1uB,EAAKd,mBACZwvB,EAAS,MAET1uB,EAAKr7D,OACL+pF,GAAU1uB,EAAKr7D,KAAK/O,MAAQ,KAEhC84F,GAAUC,GAAgB3uB,EAAKZ,gBAAiBoC,GACzCktB,EAGJ,SAASC,GAAgB3uB,EAAsBwB,EAAQ,GAC1D,OAAQxB,EAAKjB,UACT,KAAK,GACD,OAAOiB,EAAKpqE,MAGhB,KAAK,GACD,OAAO+4F,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,IAAMxB,EAAKL,WAAW/pE,MAG/E,KAAK,EACD,OACI+4F,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAxB,EAAKhoE,UAAUokB,KAAK7mB,GAAQk5F,GAAcl5F,EAAKisE,KAAQ1tE,KAAK,MAC5D,IAIR,KAAK,GACD,OACI66F,GAAgB3uB,EAAKP,eAAgB+B,GACrC,IACAxB,EAAK3kC,MAAMjf,KAAKkE,GAASmuE,GAAcnuE,EAAMkhD,KAAQ1tE,KAAK,MAC1D,KACCksE,EAAKf,cAAgB,IAAM,IAIpC,KAAK,GACD,OAAO2vB,GAAc5uB,EAAKmlB,UAAYwJ,GAAgB3uB,EAAK3V,WAAYmX,GAG3E,KAAK,EAA+B,CAChC,MAAMqtB,EACFF,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAE1C,OAAOxB,EAAK8uB,cAAgB,IAAID,KAAaA,EAGjD,KAAK,GAAsB,CACvB,IAAIj5F,EAAQoqE,EAAKpqE,MAAMkC,WAUvB,OAPIlC,EAAM28D,SAAS,OACf38D,EAAQA,EAAMkpC,UAAU,EAAGlpC,EAAMtC,OAAS,IAG1C0sE,EAAKV,cACL1pE,GAAS,KAENA,EAGX,KAAK,GACD,OAAY,EAAR4rE,GAAoDxB,EAAKslB,eAClDqJ,GAAgB3uB,EAAKslB,eAAgB9jB,GAErCxB,EAAKR,QACPpjD,KAAK1hB,GACKi0F,GAAgBj0F,EAAK8mE,KAE/B1tE,KAAK,KAIlB,KAAK,GAAsB,CACvB,IAAIi7F,EAAa,GA+BjB,OA9BuB,EAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,EAAnB/uB,EAAK1mD,MAAMkoD,MACY,EAAnBxB,EAAK1mD,MAAMkoD,MACXutB,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAE/BD,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAGZ,EAAnBhvB,EAAK1mD,MAAMkoD,MACXutB,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAE7BD,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAI9BD,EAGX,KAAK,EACD,OAAOJ,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,MAAQmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAGvG,KAAK,EACD,OAAOmtB,GAAgB3uB,EAAKr7D,KAAM68D,GAAS,OAASmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAG9F,KAAK,GACD,OAAOmtB,GAAgB3uB,EAAKZ,gBAAiBoC,GAAS,KAAOmtB,GAAgB3uB,EAAKslB,eAAgB9jB,GAGtG,KAAK,EACD,OACImtB,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAI9C,KAAK,EACD,MAAO,SAAWmtB,GAAgB3uB,EAAK3V,WAAYmX,GAGvD,KAAK,GACD,OACImtB,GAAgB3uB,EAAK6lB,aAAcrkB,GACnC,OACAmtB,GAAgB3uB,EAAKqjB,eAAgB7hB,GACrC,SACAmtB,GAAgB3uB,EAAK8lB,eAAgBtkB,GAI7C,KAAK,GAID,MAAO,IAHaxB,EAAK9+C,QAAQ9E,KAAKuqE,GAC3BgI,GAAgBhI,EAAMnlB,KAEV1tE,KAAK,SAGhC,KAAK,GACD,MAAO,IAAM66F,GAAgB3uB,EAAK3V,WAAYmX,GAGlD,KAAK,GAAqB,CACtB,MAAMR,EAAchB,EAAKgB,YAAY5kD,KAAKuqE,GAC/BgI,GAAgBhI,EAAMnlB,KAEjC,OAA2B,IAAvBR,EAAY1tE,OACL,IAAI0tE,EAAY,QAEpB,IAAIA,EAAYltE,KAAK,SAGhC,KAAK,GACD,OAAIksE,EAAK3V,WACE,SAAWskC,GAAgB3uB,EAAK3V,WAAYmX,GAE5C,QAIf,KAAK,GACD,MAAO,cAAgBmtB,GAAgB3uB,EAAK3V,WAAYmX,GAG5D,KAAK,GACD,MAAO,MAGX,KAAK,GAAiC,CAClC,IAAIytB,EAAU,mBA2Bd,OAzBI9L,GAAiBnjB,EAAK3V,YACtB4kC,EAAUN,GAAgB3uB,EAAK3V,WAA8BmX,GACzB,KAA7BxB,EAAK3V,WAAW0U,WAGvBkwB,EAAU,GAFKN,GAAgB3uB,EAAK3V,WAAWu8B,cAAeplB,OAC7CmtB,GAAgB3uB,EAAK3V,WAAW+U,gBAAiBoC,MAItEytB,EACIA,EACA,IACAjvB,EAAKkmB,WACA9pE,KAAKuqE,GACoB,KAAlBA,EAAK5nB,UAEE4nB,EAAKuI,QAAU,SAAW,IAA7B,OACAP,GAAgBhI,EAAKhD,iBAAkBniB,GACvC,OAAOmtB,GAAgBhI,EAAK/C,mBAAoBpiB,KAG7C,MAAMmtB,GAAgBhI,EAAKtD,eAAgB7hB,OAGzD1tE,KAAK,KAEPksE,EAAKmvB,gBAAkB,IAAIF,MAAcA,EAGpD,KAAK,GAAqB,CACtB,IAAI32E,EAAS,GAUb,OATI0nD,EAAKgsB,aACL1zE,GAAUq2E,GAAgB3uB,EAAKgsB,WAAYxqB,IAE3CxB,EAAKisB,WACL3zE,GAAU,KAAOq2E,GAAgB3uB,EAAKisB,SAAUzqB,IAEhDxB,EAAKksB,YACL5zE,GAAU,KAAOq2E,GAAgB3uB,EAAKksB,UAAW1qB,IAE9ClpD,EAGX,KAAK,GACD,MACI,UACA0nD,EAAKrkC,WACAvf,KAAKV,IACF,IAAI0zE,EAAW,GAef,OAbuB,IAAnB1zE,EAAMk7C,SACNw4B,GAAY,IACc,IAAnB1zE,EAAMk7C,WACbw4B,GAAY,MAGZ1zE,EAAM/W,OACNyqF,GAAY1zE,EAAM/W,KAAK/O,OAGvB8lB,EAAM8vE,eACN4D,GAAY,MAAQT,GAAgBjzE,EAAM8vE,aAAchqB,IAErD4tB,KAEVt7F,KAAK,MACV,KACA66F,GAAgB3uB,EAAK3V,WAAYmX,GAIzC,KAAK,GACD,GAAuB,KAAnBxB,EAAKumB,UACL,MAAO,OACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,QACJ,GAAuB,IAAnBvmB,EAAKumB,UACZ,MAAO,YACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,OAEX,MAGJ,KAAK,GAA0B,CAC3B,MAAM8I,EAAe,GAAGrvB,EAAK9+C,QAAQ9E,KAAK21C,GACf,KAAnBA,EAAMgN,SAEF,GAAG4vB,GAAgB58B,EAAM60B,cAAeplB,OACrCmtB,GAAgB58B,EAAMqN,gBAAiBoC,KAGvCmtB,GAAgB58B,EAAOyP,OAItC,OAAI6tB,EACO,KAAKA,MAGT,KAGX,KAAK,GACD,MAAO,KAAKV,GAAgB3uB,EAAK6mB,iBAAkBrlB,KAGvD,KAAK,GACD,OAAOxB,EAAK9+C,QAAQ9E,KAAK21C,GAAU48B,GAAgB58B,EAAOyP,KAAQ1tE,KAAK,MAI/E,MAAO,eAGJ,SAAS86F,GAAczJ,GAC1B,MAAMmK,EAA8C,CAChD,EAAoB,IACpB,EAAyB,KACzB,EAAuB,IACvB,EAA2B,IAC3B,EAAgC,KAChC,EAA8B,IAC9B,EAA0B,IAC1B,EAA+B,KAC/B,EAA2B,IAC3B,EAAgC,KAChC,GAAuB,IACvB,GAA4B,KAC5B,GAAuB,KACvB,GAA4B,KAC5B,GAAiC,MACjC,GAA4B,IAC5B,GAAmC,KACnC,GAA0B,KAC1B,GAA+B,MAC/B,GAAkC,KAClC,GAAyB,IACzB,GAAgC,KAChC,GAA+B,IAC/B,GAAoC,KACpC,GAAoB,IACpB,GAAyB,KACzB,GAAyB,IACzB,GAA8B,KAC9B,GAA0B,KAC1B,GAAsB,KACtB,GAA2B,MAC3B,GAA2B,KAC3B,GAAgC,MAChC,GAAyB,IACzB,GAA8B,KAC9B,GAAoB,MACpB,GAAmB,KACnB,GAAoB,MACpB,GAAmB,KACnB,GAAsB,SACtB,GAAmB,KACnB,GAAsB,UAG1B,OAAIA,EAAYnK,GACLmK,EAAYnK,GAGhB,UAGJ,SAASoK,GAAkBvvB,GAC9B,IAAIuB,EAAUvB,EAAKviC,OAEnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAAS6wD,GAAkBtuB,EAAiBwvB,GAAiB,GAChE,IAAIjuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAGJ,GAAyB,KAArBwC,EAAQxC,UACJywB,EACA,OAIRjuB,EAAUA,EAAQ9jC,QA2CnB,SAASgyD,GAAqBzvB,GACjC,IACI0vB,EADAnuB,EAAUvB,EAAKviC,OAGnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,WAEHwC,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAIf,GAAyB,KAArBA,EAAQxC,SACR,OAGJ2wB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAuBnB,SAASkyD,GAA4B3vB,GACxC,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,QAyEnB,SAASmyD,GAAuB5vB,GACnC,IAAI0vB,EACAG,EACAtuB,EAAiCvB,EACjC8vB,GAAkB,EAEtB,KAAOvuB,GAAS,CASZ,OARyB,KAArBA,EAAQxC,UAAwC2wB,IAAanuB,EAAQ58D,OAErEmrF,GAAkB,GAMdvuB,EAAQxC,UACZ,KAAK,GACD,GAAIwC,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,GAAImuB,IAAanuB,EAAQgjB,YACFntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAIA,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,KAAKmuB,GAAYA,IAAanuB,EAAQlX,kBACfjzD,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,YACKntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,KAILmuB,IAAanuB,EAAQ2kB,WAAW,IACG,KAAnC3kB,EAAQ2kB,WAAW,GAAGnnB,UACtBwC,EAAQ2kB,WAAW,GAAGtC,qBAAuBiM,GAG7C,OAAOtuB,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,GACT,OAAOA,EAMnBsuB,EAAeH,EACfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,iCAMF,SAASulC,GAAoB/vB,EAAiBgwB,GAA2B,GAC5E,IAAIN,EACAnuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,IAAI2wB,IAAanuB,EAAQgjB,OAASyL,KACzBzuB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,QAChBhjB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAOvBmuB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAQnB,SAASwyD,GAAsBjwB,GAClC,IAAIkwB,EAAkBN,GAAuB5vB,GAK7C,KACiC,KAA7BkwB,EAAgBnxB,UACa,KAA7BmxB,EAAgBnxB,UAEhBmxB,EAAkBN,GAAuBM,EAAgBzyD,QAG7D,OAAOyyD,EA4BJ,SAASC,GAAkCC,GAE9C,GAA4B,KAAxBA,EAAWrxB,SACX,OAAO,EAKX,GAA4B,KAAxBqxB,EAAWrxB,SAAyC,CACpD,GAA2C,KAAvCqxB,EAAWpxB,eAAeD,SAC1B,OAAO,EAIX,IADkBuvB,GAAkB8B,GAEhC,OAAO,EAGX,MAAMC,EAAaZ,GAAqBW,GACxC,QAAKC,GAIyB,aAA1BA,EAAW1rF,KAAK/O,MAOxB,OAAO,EAGJ,SAAS06F,GAAqCF,GAEjD,QADkB9B,GAAkB8B,GAAiC,GAQlE,SAASG,GAAsBvwB,EAAiBwwB,GACnD,IAAIjvB,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAIA,IAAYivB,EACZ,OAAO,EAGXjvB,EAAUA,EAAQ9jC,OAGtB,OAAO,EAoBJ,SAASgzD,GAAazwB,GACzB,IAAI0wB,GAAc,EAElB,IAAK,MAAMxuB,KAAalC,EAAK+C,WAAY,CACrC,GAA2B,KAAvBb,EAAUnD,SAYV,OAAO,EAXP,IAAK,MAAM4xB,KAAgBzuB,EAAUa,WACjC,GAA8B,KAA1B4tB,EAAa5xB,SAEb2xB,GAAc,OACX,GAA8B,KAA1BC,EAAa5xB,SAGpB,OAAO,EAQvB,OAAO2xB,EAGJ,SAASE,GAAqB9xB,EAA2BzU,GAC5D,GAA2B,KAAvByU,EAAUC,SACV,OAA4B,KAAxB1U,EAAW0U,SACJD,EAAUlpE,QAAUy0D,EAAWz0D,MACP,IAAxBy0D,EAAW0U,UACXD,EAAUlpE,QAAUy0D,EAAW1lD,KAAK/O,MAG5C,GACoB,KAAvBkpE,EAAUC,UACc,KAAxB1U,EAAW0U,SAEX,OACI6xB,GAAqB9xB,EAAUE,eAAgB3U,EAAW2U,iBAC1DF,EAAUa,WAAW/pE,QAAUy0D,EAAWsV,WAAW/pE,MAEtD,GAA2B,KAAvBkpE,EAAUC,UAA4D,KAAxB1U,EAAW0U,SAAkC,CAClG,IAAK6xB,GAAqB9xB,EAAUW,eAAgBpV,EAAWoV,gBAC3D,OAAO,EAGX,GACgC,IAA5BpV,EAAWhvB,MAAM/nC,QACjB+2D,EAAW4U,eACX5U,EAAWhvB,MAAM,GAAG12B,MACqB,IAAzC0lD,EAAWhvB,MAAM,GAAG6jC,iBAEpB,OAAO,EAGX,GAAoD,KAAhDJ,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAmC,CACtE,MAAM8xB,EAAsB/xB,EAAUzjC,MAAM,GAAG+jC,gBACzCD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,QAC+B,KAA3BD,EAAcJ,UACdI,EAAcG,cACbH,EAAc35D,YAKZqrF,EAAoBj7F,QAAUupE,EAAcvpE,MAGvD,GAAoD,KAAhDkpE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CAC1E,MAAM+xB,EAA0BhyB,EAAUzjC,MAAM,GAAG+jC,gBAC7CD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,GAC+C,IAA3C0xB,EAAwBtxB,QAAQlsE,QACgB,KAAhDw9F,EAAwBtxB,QAAQ,GAAGT,UACR,KAA3BI,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAEzB,OAAO+xB,EAAwBtxB,QAAQ,GAAG5pE,QAAUupE,EAAcK,QAAQ,GAAG5pE,MAIrF,OAAO,EAGX,OAAO,EAGJ,SAASm7F,GAA4BjyB,EAA2BzU,GACnE,OAA2B,KAAvByU,EAAUC,SAEN6xB,GAAqB9xB,EAAUE,eAAgB3U,IAC/C0mC,GAA4BjyB,EAAUE,eAAgB3U,GAE5B,KAAvByU,EAAUC,WAEb6xB,GAAqB9xB,EAAUW,eAAgBpV,IAC/C0mC,GAA4BjyB,EAAUW,eAAgBpV,IA8L3D,SAAS2mC,GAAajuB,GAEzB,GAA0B,IAAtBA,EAAWzvE,OACX,OAGJ,GAA+B,KAA3ByvE,EAAW,GAAGhE,SACd,OAGJ,IAAKkyB,GAAYluB,EAAW,IACxB,OAIJ,MAAMvD,EAAWuD,EAAW,GAAGA,WAAW,GAAsBvD,QAChE,OAAuB,IAAnBA,EAAQlsE,OAEDksE,EAAQ,GAAG5pE,MAGf4pE,EAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAGrC,SAASm9F,GAAYC,GAGxB,GAAwC,IAApCA,EAAcnuB,WAAWzvE,QAAyD,KAAzC49F,EAAcnuB,WAAW,GAAGhE,SACrE,OAAO,EAIX,MAAMS,EAAU0xB,EAAcnuB,WAAW,GAAGvD,QAC5C,OAAuB,IAAnBA,EAAQlsE,SAKRksE,EAAQzY,MAAMjuD,GAAoD,IAA7B,GAAhBA,EAAEwgB,MAAMkoD,SAoF9B,MAAM2vB,WAAuB,GAIhC5sF,YACY6sF,GAMR5sF,QANQ,KAAA4sF,YASHhG,UAAUprB,GAEf,OADA1nE,KAAK84F,UAAUpxB,EAAM1nE,KAAK+4F,gBAAiB/4F,KAAKg5F,kBACzC,EAGFlH,WAAWpqB,GAChB1nE,KAAK+vF,KAAKroB,EAAKP,gBAEf,MAAM8xB,EAAqBj5F,KAAK+4F,gBAC1BG,EAAqBl5F,KAAKg5F,gBAWhC,OAVAh5F,KAAKg5F,gBAAkBtxB,EAAKP,eAE5BO,EAAK3kC,MAAMzd,SAAQ,CAAC0C,EAAMmC,KACtBnqB,KAAK+4F,gBAAkB5uE,EACvBnqB,KAAK+vF,KAAK/nE,MAGdhoB,KAAK+4F,gBAAkBE,EACvBj5F,KAAKg5F,gBAAkBE,GAEhB,GAIR,MAAMC,WAAuB,GAChCltF,YAAoB6sF,GAChB5sF,QADgB,KAAA4sF,YAIX/H,UAAUrpB,GAEf,OADA1nE,KAAK84F,UAAUpxB,IACR,GAIR,SAAS0xB,GAAsB1xB,GAClC,IAAIuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAASk0D,GACZ3xB,EACA4xB,EACAh1B,GAGA,IACIi1B,EADAtwB,EAAiCvB,EAGrC,UAAmB5oE,IAAZmqE,GAAuB,CAE1B,GAAyB,IAArBA,EAAQxC,UACJ+yB,EAAuBvwB,GAA2B,CAClDswB,EAAWtwB,EACX,MAGRA,EAAUA,EAAQ9jC,OAGtB,IAAKo0D,IAAaA,EAAS75F,UACvB,OAGJ,MAAM+5F,EAAcj1B,GAAUmB,OAAO4zB,GACrC,GAAID,EAAkBG,EAClB,OAGJ,MAAMC,EA0EH,SAAoBp1B,EAAoC7nC,GAC3D,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,KAAItS,EAAQ,GAIZ,OAAOm6C,EAAOgB,UAAUn7C,GAhFLyvE,CAAWt1B,EAAQm1B,EAAc,GACpD,GAAIH,IAAoBG,GAA+B,MAAhBC,aAAU,EAAVA,EAAY16F,MAC/C,OAGJ,IAAI66F,GAAc,EACdC,GAAe,EACfC,GAAe,EA6CnB,OA5CAR,EAAS75F,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC7B,GAAI0vE,EACA,OAIJ,IAAI/9F,EAAQmB,EAAInB,MAChB,MAAMk+F,EAAkB11B,EAAOq1B,kBAAkB79F,GAC7Ck+F,GAAmB,IACnBl+F,EAAQ0oE,GAAUmB,OAAOrB,EAAOgB,UAAU00B,EAAkB,KAGhE,IAAIj+F,EAAMyoE,GAAUmB,OAAO1oE,GAC3B,MAAMg9F,EAAgB31B,EAAOq1B,kBAAkB59F,GAC/C,GAAIk+F,GAAiB,EAGjB,IAAK,IAAI3/F,EAAI2/F,EAAe3/F,EAAIgqE,EAAOt4C,MAAO1xB,IAAK,CAC/C,MAAM4/F,EAAM51B,EAAOgB,UAAUhrE,GAE7B,OAAQ4/F,EAAIl7F,MACR,KAAK,GACL,KAAK,GACD,MACJ,QACI,SAGRjD,EAAMyoE,GAAUmB,OAAOu0B,GACvB,MAIJZ,EAAkBv9F,IAClB+9F,EAAc3vE,EACd4vE,EAAeT,GAAmBx9F,EAClC+9F,GAAc,MAIjBA,IACDC,EAAcP,EAAS75F,UAAU1E,OAAS,GAGvC,CACHu+F,WACAO,cACAC,gBAGJ,SAASP,EAAuB9xB,EAAgBhmE,GAC5C,IAAIH,GAAQ,EACZ,MAAM44F,EACFzyB,EAAKhB,eAAe1rE,OAAS,EAAIwpE,GAAUmB,OAAO+B,EAAKhB,gBAAkB,EAAIgB,EAAKhB,eAAe5qE,MAC/FquB,EAAQm6C,EAAOq1B,kBAAkBQ,GACvC,GAAIhwE,GAAS,GAAKA,EAAQ,EAAIm6C,EAAOt4C,MAAO,CACxC,MAAMhL,EAAQsjD,EAAOgB,UAAUn7C,EAAQ,GACpB,KAAfnJ,EAAMhiB,MAAsCs6F,EAAkB90B,GAAUmB,OAAO3kD,KAE/Ezf,GAAQ,GAGhB,OAAOA,GA8PR,SAAS64F,GAAc1yB,GAC1B,IAAI0vB,EAAsB1vB,EACtBuB,EAAiCmuB,EAASjyD,OAE9C,KAAO8jC,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,EAIL,KAAK,EACD,OAAO2wB,IAAanuB,EAAQvC,eAGhC,KAAK,EACD,OAAO0wB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO,EAGX,KAAK,GACD,OAAO+qF,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,OACI+L,IAAanuB,EAAQkD,OACpBlD,EAAQn3D,OAAO49D,UAAU10E,OAAS,GAAKo8F,IAAanuB,EAAQn3D,OAAO49D,UAAU,GAItF,KAAK,GACD,OAAO0nB,IAAanuB,EAAQkD,QAAWlD,EAAQkD,OAASirB,IAAanuB,EAAQ58D,KAGjF,KAAK,GACD,GAAI+qF,IAAanuB,EAAQ5B,WACrB,OAAO,EAEX,MAGJ,KAAK,GACD,OAAO+vB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO48D,EAAQwjB,UAAUh+B,MAAMzmC,GAASA,IAASovE,IAGrD,KAAK,GACD,OAAOA,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,GAAI+L,IAAanuB,EAAQ+jB,eACrB,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfoK,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EAGJ,SAASk1D,GAAc3yB,GAC1B,IAAIl/C,EAAiCk/C,EACrC,KAAOl/C,GAAgC,KAArBA,EAAQi+C,UACtBj+C,EAAUA,EAAQ2c,OAGtB,OAAO3c,EAGJ,SAAS8xE,GAAoB5yB,GAChC,MAAMl/C,EAAU6xE,GAAc3yB,GAC9B,OAAOl/C,EAAU,GAA6BA,QAAW1pB,EA4BtD,SAASy7F,GAAmB7yB,G,QAC/B,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASg0B,GAAc/yB,G,MAC1B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAAuCiB,EAAKviC,OAAOgnC,QAAUzE,EAG9E,SAASgzB,GAAuBhzB,G,QACnC,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASk0B,GAAiBjzB,G,MAC7B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAO94B,OAASq7D,EAGjF,SAASkzB,GAAkBlzB,G,MAC9B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAOgnC,QAAUzE,EAGlF,SAASmzB,GAAuBnzB,G,MACnC,GAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,UACb,OAAO,EAGX,MAAM30D,EAAS41D,EAAKviC,OACpB,OAAgC,IAA5BrzB,EAAO49D,UAAU10E,QAId8W,EAAO49D,UAAU59D,EAAO49D,UAAU10E,OAAS,KAAO0sE,EAYtD,SAAS8yB,GACZ9yB,EACA1oE,GAEA,OAGG,SACH0oE,EACAhZ,GAEA,IAAK,MAAMlmC,KApBf,UAAqCk/C,GACjC,UAAgB5oE,IAAT4oE,SACGA,EACNA,EAAOA,EAAKviC,OAiBM21D,CAA2BpzB,GAC7C,GAAcl/C,EAR2Bi+C,WAAaznE,EASlD,OAAOwpB,EATRuyE,CAAuBrzB,GAgB3B,SAASszB,GAAqCtzB,G,MAQjD,OAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAIbiB,EAAKviC,OAAOuhC,iBAAmBgB,EAHxBA,EAOJA,EAAKviC,OC14DT,SAAS81D,GAAsBjzB,GAClC,OAAQA,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAA2B,CAC5B,GAAIgpE,EAAYN,KAAKslB,gBAAkBhlB,EAAYN,KAAK+oB,sBACpD,OAAO,EAEX,MAAMyK,EAAkBlzB,EAAYN,KAAKviC,OACzC,GAA6B,MAAzB+1D,aAAe,EAAfA,EAAiBz0B,WAEby0B,EAAgB9I,4BACf8I,EAAgB9I,0BAA0BlF,oBAC7C,CACE,MAAMiO,EAAmBD,EAAgB9I,0BAA0BjF,qBAGnE,QACI+N,EAAgB73D,WAAWroC,OAASmgG,EAAiBngG,QACrDgtE,EAAYN,OAASwzB,EAAgB73D,WAAW,IAO5D,OAAO,EAGX,KAAK,EACD,QAAS2kC,EAAYozB,mBAEzB,KAAK,EACD,OAAO,GAIZ,SAASC,GACZC,EACAC,EACAC,GAAuC,GAEvC,GAAIF,EAAMt8F,OAASu8F,EAAMv8F,KACrB,OAAO,EAGX,GAAIs8F,EAAMvsF,OAASwsF,EAAMxsF,KACrB,OAAO,EAGX,GACIusF,EAAM7uF,MAAM3Q,MAAMo+B,OAASqhE,EAAM9uF,MAAM3Q,MAAMo+B,MAC7CohE,EAAM7uF,MAAM3Q,MAAMq+B,YAAcohE,EAAM9uF,MAAM3Q,MAAMq+B,UAElD,OAAO,EAKX,GAAmB,IAAfmhE,EAAMt8F,MAAiD,IAAfu8F,EAAMv8F,KAAgC,CAC9E,GAAIs8F,EAAMxoC,aAAeyoC,EAAMzoC,YAAcwoC,EAAMG,gBAAkBF,EAAME,cACvE,OAAO,EAGX,GAAID,EAQA,OAAO,EAGX,GAAIF,EAAM5d,gBAAkB6d,EAAM7d,cAC9B,OAAO,EAIf,OAAO,EAGJ,SAASge,GAA2BxzB,GACvC,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAKyzB,QAGrD,SAASC,GAA+B1zB,GAC3C,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAK2zB,oBAGrD,SAASC,GAA+B5zB,G,MAC3C,GAAkB,IAAdA,EAAKlpE,OAAsCkpE,EAAK6zB,eAAiB7zB,EAAKkzB,mBACtE,OAAO,EAGX,GAA8B,KAAV,QAAhB,EAAAlzB,EAAKR,KAAKviC,cAAM,eAAEshC,UAClB,OAAO,EAMX,OADwByB,EAAKR,KAAKviC,OAAO4nD,gBACjBtmB,UACpB,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAGf,OAAO,EAGJ,SAASu1B,GAAuBh0B,G,MACnC,OAAQA,EAAYhpE,MAChB,KAAK,EACD,OAAOgpE,EAAYlV,WAEvB,KAAK,EACL,KAAK,EACD,OAAOkV,EAAYN,KAAKr7D,KAAK/O,MAEjC,KAAK,EACD,OAA4B,QAArB,EAAA0qE,EAAYN,KAAKr7D,YAAI,eAAE/O,MAElC,KAAK,EACD,OAAqC,KAA9B0qE,EAAYN,KAAKjB,SAAkCuB,EAAYN,KAAKpqE,WAAQwB,EAEvF,KAAK,EACL,KAAK,EACD,OAGR,MAAM,IAAIlD,MAAM,wBAeb,SAASqgG,GAAwCC,GAEpD,OAAOA,EAAMp4E,KAAKq4E,IACd,GAAuB,IAAnBA,EAAUn9F,KACV,OAAOm9F,EAGX,MAAMC,EAAiC,IAAKD,GAE5C,OADAC,EAAaX,eAAgB,EACtBW,KAIR,SAASC,GAAkCttF,GAG9C,MAAO,CACH/P,KAAM,EACN0oE,UAAM5oE,EACNiQ,OACAutF,qBAAqB,EACrB7vF,MnBrBG,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,ImB6DXgxC,gBAAiB,IAAIrtD,IACrB29E,eAAe,EACfzwB,WAAY,GACZuxB,iBAAiB,GC9LlB,SAASC,GAAuBC,GAEnC,MAGMj1C,EAHYi1C,EAAU92F,QAAQ,MAAO,IAAIA,QAAQ,MAAO,YAGtC4H,MAAM,MAG9B,IAAImvF,EAAqB/6F,OAAOs4B,UAChCutB,EAAMliC,SAAQ,CAAC4U,EAAM/P,KAEjB,GAAIq9B,EAAMxsD,QAAU,GAAKmvB,EAAQ,EAAG,CAChC,MAAMwyE,EAAUziE,EAAK0iE,WACjBD,IACAD,EAAqB55F,KAAKC,IAAI25F,EAAoBxiE,EAAKl/B,OAAS2hG,EAAQ3hG,aAMhF0hG,GAAsB/6F,OAAOs4B,YAC7ByiE,EAAqB,GAIzB,MAAMG,EAAyB,GAU/B,IATAr1C,EAAMliC,SAAQ,CAAC4U,EAAM/P,KACH,IAAVA,EACA0yE,EAAaxhG,KAAK6+B,EAAKt0B,QAEvBi3F,EAAaxhG,KAAK6+B,EAAKl4B,OAAO06F,GAAoBI,gBAKnDD,EAAa7hG,OAAS,GAAgC,IAA3B6hG,EAAa,GAAG7hG,QAC9C6hG,EAAat9E,QAGjB,KAAOs9E,EAAa7hG,OAAS,GAAsD,IAAjD6hG,EAAaA,EAAa7hG,OAAS,GAAGA,QACpE6hG,EAAa5iD,MAGjB,OAAO4iD,EAGJ,SAASE,GAA8BC,EAA2BC,GACrE,IAAKD,IAAsBC,EACvB,OAiBJ,MAAMC,EAAiBV,GAAuBQ,GAC9C,IAAK,MAAM9iE,KAAQgjE,EAAgB,CAC/B,MAAMtqB,EAAc14C,EAAKt0B,OAGzB,IAAIu3F,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAClD,GAAIE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,GAK9B,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,ICrF/B,SAASC,GAA2BC,GACvC,OAAO,IAAIC,GAAmBD,GAAWE,UAMtC,SAASC,GAA4BH,GACxC,MAAM71C,EAAQg1C,GAAuBa,GAC/BphG,EAAmB,GAEzB,IAAK,MAAMi+B,KAAQstB,EAAO,CACtB,MAAM9+C,EAAOzM,EAAOjB,OAAS,EAAIiB,EAAOA,EAAOjB,OAAS,QAAK8D,EACzD2+F,GAAyBvjE,IAASujE,GAAyB/0F,IAI/DzM,EAAOZ,KAAK6+B,GAGhB,OAAOj+B,EAAOT,KAAK,MAAMkiG,UAS7B,MAAMC,GAA0B,OAC1BC,GAAsB,KACtBC,GAAoB,YACpBC,GAAmB,eACnBC,GAAoB,mBACpBC,GAAmB,mBACnBC,GAAwB,YACxBC,GAA4B,aAC5BC,GAA0B,gBAC1BC,GAAwB,iBACxBC,GAAoB,YACpBC,GAAsB,6BACtBC,GAAgB,SAChBC,GAA+B,kFAC/BC,GAA0B,kBAC1BC,GAAqB,mBAErBC,GAAwC,CAC1C,CAAEC,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,oBAAqBp7C,YAAa,MAIvCq7C,GAAmB,MACnBC,GAAmB,MACnBC,GAAc,KACdC,GAAa,MACbC,GAAsB,YACtBC,GAAa,kBAEbC,GAAmC,CACrC,CAAEP,IAAK,KAAMp7C,YAAa,QAC1B,CAAEo7C,IAAK,KAAMp7C,YAAa,SAIxB47C,GAA0B,UAC1BC,GAAgD,CAClD,CAAET,IAAK,UAAWp7C,YAAa,IAC/B,CAAEo7C,IAAK,cAAep7C,YAAa,OAEnC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,MAY3C,MAAM85C,GAgBFrxF,YAAYc,GAfJ,KAAAuyF,SAAW,GACX,KAAAC,sBAAuB,EACvB,KAAAC,mBAAoB,EACpB,KAAAC,uBAAwB,EAGxB,KAAAC,YAAuB,GAGvB,KAAAC,SAAW,EAEX,KAAAC,aAAe,EAKnB5/F,KAAK4nB,OAAS5nB,KAAK6/F,WACnB7/F,KAAK8/F,OAAStD,GAAuBzvF,GAGzCwwF,UAOI,IANiBv9F,KAAK8/F,OAAOrxC,MAAM2C,GAAMqtC,GAAwB7tC,KAAKQ,OAGlEpxD,KAAK8/F,OAAS9/F,KAAK8/F,OAAOh8E,KAAKstC,GAAMA,EAAEzrD,QAAQ+4F,GAAoB,YAG7B5/F,IAAnCkB,KAAK+/F,2BAAyC,CACjD,MAAMC,EAAShgG,KAAK4nB,OACdq4E,EAAajgG,KAAK2/F,SAKxB,GAHA3/F,KAAK4nB,SAGD5nB,KAAK4nB,SAAWo4E,GAAUhgG,KAAK2/F,WAAaM,EAC5C,MAeR,OATIjgG,KAAK4nB,SAAW5nB,KAAKkgG,qBACrBlgG,KAAK4nB,SAAW5nB,KAAKmgG,eACrBngG,KAAK4nB,SAAW5nB,KAAKogG,mBAErBpgG,KAAKqgG,yBAAyB,OACvBrgG,KAAKw/F,mBACZx/F,KAAKqgG,yBAAyB,KAAK,GAGhCrgG,KAAKs/F,SAAS15F,OAGjB06F,WACJtgG,KAAK2/F,WAGDI,0BACJ,OAAO//F,KAAK2/F,SAAW3/F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAO9/F,KAAK2/F,eAAY7gG,EAGrEyhG,eACJ,OAAOvgG,KAAK+/F,2BAA6B,GAGrCS,iBACJ,OAAOC,GAAoBzgG,KAAKugG,gBAG5BG,c,MACJ,OAAOD,GAAmD,QAA/B,EAAAzgG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,UAAE,QAAI,IAG1DgB,QAAQrmG,GACZ,OAAOA,EAAI0F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAOxlG,QAAKwE,EAG7C8hG,mBACJ,OAAOH,GACHzgG,KAAK8/F,OAAOliG,MAAMoC,KAAK2/F,SAAW,GAAGp0B,MAAMna,IAAOqsC,GAAyBrsC,MAAO,IAIlFyvC,6BACJ,OAAO7gG,KAAKwgG,iBAAmBxgG,KAAK4/F,aAGhCkB,0BACJ,OAAO9gG,KAAKugG,eAAev+F,OAAOhC,KAAK4/F,cAGnCmB,iBAAiB94E,GACjBjoB,KAAK4nB,SAAW5nB,KAAK6/F,aACrB7/F,KAAKw/F,mBAAoB,GAG7Bx/F,KAAK0/F,YAAYrkG,KAAK2E,KAAK4nB,QAC3B5nB,KAAK4nB,OAASK,EAGV+4E,YACJhhG,KAAK4nB,OAAS5nB,KAAK0/F,YAAYx5E,OAAO,EAAG,GAAG,GAExClmB,KAAK4nB,SAAW5nB,KAAK6/F,aAErB7/F,KAAKw/F,mBAAoB,GAIzBK,aACJ,GAAIpC,GAAyBz9F,KAAK+/F,2BAE9B,YADA//F,KAAK4nB,OAAS5nB,KAAKihG,aAIvB,GAAIjhG,KAAKkhG,sBACL,OAGJ,GAAIlhG,KAAKmhG,qBACL,OAGJ,GAAInhG,KAAKohG,gBACL,OAGJ,GAAIphG,KAAKqhG,kBACL,OAGJ,GAAIrhG,KAAKshG,aACL,OAGJ,GAAIthG,KAAKuhG,kBACL,OAGJ,GAAIvhG,KAAKwhG,mBACL,OAGJ,MAAMtnE,EAAOl6B,KAAKyhG,uBAAuBzhG,KAAKugG,gBAE9CvgG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAGDmB,uBAAuBvnE,GAC3B,MAAMynE,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GACpCiC,EAAa5hG,KAAK0gG,cAClBmB,EAAa7hG,KAAKwgG,iBA0BxB,QAvBIqB,EAAaD,IACZnE,GAAyBkE,IACzB3hG,KAAKs/F,SAASrlC,SAAS,SACvBj6D,KAAKs/F,SAASrlC,SAAS,SACvB6nC,GAAUH,KAEX3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAI7CgkG,EAAaC,IACZpE,GAAyBkE,KACzB3hG,KAAKs/F,SAASrlC,SAAS,UACvBj6D,KAAKs/F,SAASrlC,SAAS,UAExBj6D,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAG9B,IAAfgkG,GAAoB5hG,KAAKs/F,SAASrlC,SAAS,SAAWj6D,KAAKs/F,SAASrlC,SAAS,QACtEj6D,KAAK+hG,eAAe7nE,GAEpBA,EAAK8nE,YAKZD,eAAe7nE,GAEnB,OADOA,EAAKv0B,QAAQ,mBAAmB,CAACs8F,EAAQC,EAAIC,IAAO,SAAS3iB,OAAO0iB,EAAGlnG,QAAUmnG,IAIpFC,YAAYloE,GAKhB,OAJAilE,GAAY75E,SAAS+8E,IACjBnoE,EAAOA,EAAKv0B,QAAQ08F,EAAOzD,IAAKyD,EAAO7+C,gBAGpCtpB,EAGHwnE,gBAAgBxnE,GAGpB,MAAMh/B,GAFNg/B,EAAOl6B,KAAKsiG,oBAAoBpoE,IAEb3sB,MAAM,KAEzB,IAAK,IAAIjT,EAAI,EAAGA,EAAIY,EAAMF,OAAQV,IAAK,CACnC,IAAIq1E,EAAOz0E,EAAMZ,GAOjB,GALIA,EAAI,IACJ0F,KAAKw/F,mBAAqBx/F,KAAKw/F,kBAC/Bx/F,KAAKuiG,QAAQ,MAGbviG,KAAKw/F,kBACLx/F,KAAKuiG,QAAQ5yB,OADjB,CAOA,GAFAA,EAAO3vE,KAAKoiG,YAAYzyB,GAEd,IAANr1E,EAAS,CAET,GAAqB,IAAjBY,EAAMF,OAAc,CAEpB,IAAK,MAAMwnG,KAAkB7D,GACzB,GAAI6D,EAAe5D,IAAI5nD,KAAK24B,GAAO,CAC/BA,EAAOA,EAAKhqE,QAAQk5F,GAAkB2D,EAAeh/C,aACrD,MAMR,GAAIq6C,GAAkB7mD,KAAK24B,GAAO,CAC9B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQo5F,GAAa,MACvC,SAOJ,GAAIjB,GAAiB9mD,KAAK24B,GAAO,CAC7B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQq5F,GAAY,MACtC,UASR,MAAMvtC,EAAQ2sC,GAAsBxtC,KAAK+e,GAC3B,OAAVle,GAAmC,IAAjBA,EAAMz2D,SACxBgF,KAAKuiG,QAAQ9wC,EAAM,IACnBke,EAAOle,EAAM,IAgBJke,EAAKpiE,MAAM2xF,IACnB55E,SAAS0C,IAEVk3E,GAAWloD,KAAKhvB,GAChBhoB,KAAKuiG,QAAQv6E,GAGbhoB,KAAKuiG,QACDv6E,EAAKriB,QAAQs5F,IAAqB,CAACxtC,EAAe/vD,EAAgBU,IAC/B,OAA3BA,EAAI+kC,OAAOzlC,EAAS,GACb+vD,EAEJ,KAAOA,SAWlCzxD,KAAKs/F,UAAY,KAGbgD,oBAAoBpoE,GAExB,OAAIklE,GAAwBpoD,KAAK9c,GACtB,IAGXmlE,GAAyB/5E,SAAS0C,GAAUkS,EAAOA,EAAKv0B,QAAQqiB,EAAK42E,IAAK52E,EAAKw7B,eAE/EtpB,EAAOA,EAAKv0B,QAAQm5F,GAAkB,MAIlCmC,cACJ,GAAIxD,GAAyBz9F,KAAK+/F,2BAG9B,OAFA//F,KAAKyiG,mBACLziG,KAAKsgG,WAITtgG,KAAK4nB,OAAS5nB,KAAK6/F,WAGf6C,yBAAyBpkF,GAC7Bte,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiBziF,GACtBte,KAAK4/F,aAAe5/F,KAAKwgG,iBAGrBU,sBACJ,QAAIlhG,KAAKugG,eAAe/qC,WAAW,SAC/Bx1D,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAK+gG,iBAAiB/gG,KAAKkgG,qBAC3BlgG,KAAKsgG,YACE,GAKPJ,sBACAlgG,KAAKugG,eAAe/qC,WAAW,QAC/Bx1D,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,aAELhhG,KAAKyiG,YAAYziG,KAAKugG,gBAG1BvgG,KAAKsgG,WAGDc,gBACJ,QAAK7C,GAAcvnD,KAAKh3C,KAAKugG,kBAI7BvgG,KAAK0iG,yBAAyB1iG,KAAKmgG,eACnCngG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,YACE,GAGHH,gBACJ,GAAIngG,KAAK6gG,8BAAgCpD,GAAyBz9F,KAAKugG,gBAInE,OAHAvgG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,YAIThhG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,WAGDa,qBAEJ,MAAMQ,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAC1C,QAAa7gG,IAAT6iG,EACA,OAAO,EACJ,IAAKlE,GAAyBkE,GACjC,OAAO,EAIX,IAAIrnG,EAAI0F,KAAK2/F,SAAW,EACxB,KAAOrlG,GAAK,EAAGA,IAAK,CAChB,MAAM4/B,EAAOl6B,KAAK2gG,QAAQrmG,GAC1B,IAAImjG,GAAyBvjE,GAA7B,CAKA,GAAIA,EAAM+/B,SAAS,MACf,MAGJ,OAAO,GAGX,QAAI3/D,EAAI,IAKsB,IAA1B0F,KAAKwgG,kBACLxgG,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiB/gG,KAAK2iG,8BACpB,IAGX3iG,KAAK0iG,yBAAyB1iG,KAAKogG,oBAC5B,KAGHA,qBAEJ,OAAI3C,GAAyBz9F,KAAK+/F,4BAC9B//F,KAAKyiG,mBACLziG,KAAKsgG,YAILtgG,KAAK6gG,8BACL7gG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,cAIThhG,KAAKyiG,YAAYziG,KAAK8gG,gCACtB9gG,KAAKsgG,YAGDqC,+BACJ3iG,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,YACLhhG,KAAKsgG,WAGDe,kBACJ,QAAKhD,GAAkBrnD,KAAKh3C,KAAKugG,kBAIjCvgG,KAAK+gG,iBAAiB/gG,KAAK4iG,iBAC3B5iG,KAAK4/F,aAAe5/F,KAAK4gG,mBACzB5gG,KAAKy/F,uBAAwB,GACtB,GAiBH8B,kB,QACJ,GAAIvhG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAGhB,GAAIrmE,EAAKs7B,WAAW,KAIhB,OAHAx1D,KAAKyiG,cACLziG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAIX,MAAMuC,IACD3oE,aAAI,EAAJA,EAAM+/B,SAAS,SAAS//B,aAAI,EAAJA,EAAM+/B,SAAS,SAAkC,QAAxB,EAAgB,QAAhB,EAAA//B,EAAKu3B,MAAM,aAAK,eAAEz2D,cAAM,QAAI,GAAK,GAAM,EAGvF8nG,EAAgBtE,GAA6BxnD,KAAK9c,GAExD,GAAI2oE,GAAmBC,EAAe,CAClC,MAAMnB,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAU1C,OARK3/F,KAAKs/F,SAASrlC,SAAS,SAAYj6D,KAAKs/F,SAASrlC,SAAS,SAAY6nC,GAAUH,KACjF3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAIjDs8B,EAAOl6B,KAAK+hG,eAAe7nE,GAC3Bl6B,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAGX,OAAO,EAGHkB,mBACJ,GAAIxhG,KAAKw/F,kBACL,OAAO,EAGX,MAAMtlE,EAAOl6B,KAAKugG,eAElB,QAAIxC,GAAkB/mD,KAAK9c,KACvBl6B,KAAK+iG,YAAc,CAAE74E,OAAQgQ,EAAK8nE,YAAagB,UAAU,GACzDhjG,KAAKsgG,WACLtgG,KAAK+gG,iBAAiB/gG,KAAKijG,mBACpB,GAqBPA,mBACJ,GAAIxF,GAAyBz9F,KAAK+/F,6BAA+B//F,KAAK+iG,YAGlE,OAFA/iG,KAAK+iG,iBAAcjkG,OACnBkB,KAAKghG,YAIT,IAAI9mE,EAAOl6B,KAAKugG,eAEhB,GAAIxC,GAAkB/mD,KAAK9c,GAKvB,OAJAl6B,KAAKsgG,WACLtgG,KAAKyiG,YAAY,aACjBziG,KAAKghG,iBACLhhG,KAAK+iG,iBAAcjkG,GAEhB,CACH,IAAIokG,EAAgB,IACpB,MAAMC,EAAcnjG,KAAK+iG,YAAY74E,OAAO3c,MAAM,KAC5C61F,EAA0B,GAEhC,GAAIpjG,KAAK+iG,YAAYC,SAAU,CAC3B,EAAG,CAKC,IAAIK,EAAW,EACf,IAAK,IAAI/oG,EAAI,EAAGA,EAAI6oG,EAAYnoG,OAAQV,IAAK,CACzC,MACMK,EADWwoG,EAAY7oG,GACRU,OAAS,EACxBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,QAEzBmE,IAArBskG,EAAc9oG,GACd8oG,EAAc9oG,GAAK,GAAGgpG,KAEtBF,EAAc9oG,GAAK8oG,EAAc9oG,GAAG0K,OAAO,OAAOs+F,MAEtDD,GAAY1oG,EAEhBqF,KAAKsgG,WACLpmE,EAAOl6B,KAAKugG,sBAEX9C,GAAyBz9F,KAAK+/F,6BAC9B/B,GAAiBhnD,KAAK9c,KACtB6jE,GAAkB/mD,KAAK9c,IAG5Bl6B,KAAK+iG,YAAYC,UAAW,EAG5BI,EAAc99E,SAASsqC,IACnBszC,GAAiB,GAAGtzC,QAExB5vD,KAAKyiG,YAAYS,GAGjB,MAAMK,EAAerpE,EAAK8nE,YAAYr8F,QAAQ,KAAM,KAAKA,QAAQ,IAAK,KACtE3F,KAAKyiG,YAAY,IAAIc,MACrBvjG,KAAKsgG,eACF,CAEH,IAAI+C,EAAW,EACfF,EAAY79E,SAASk+E,IACjB,MAAM7oG,EAAM6oG,EAAOxoG,OAAS,EACtBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,GAClDuoG,GAAiB,GAAGI,KAEpBD,GAAY1oG,KAGhBqF,KAAKyiG,YAAYS,GACjBljG,KAAKsgG,aAKTgB,aACJ,GAAIthG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAChB,MAAMkD,EAAYxF,GAAsBrtC,KAAK12B,GAC7C,GAA0B,KAAtBupE,aAAS,EAATA,EAAWzoG,QAYX,OAVIyoG,EAAU,GAAGzoG,QAAU,IACvBk/B,EAAO,IAAIslD,OAAOikB,EAAU,GAAGzoG,OAAS,GAAKk/B,EAAK0iE,YAGtD58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAEDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAMC,EAAgBzF,GAA0BttC,KAAK12B,GACrD,GAA8B,KAA1BypE,aAAa,EAAbA,EAAe3oG,QAaf,OAZgC,IAA5B2oG,EAAc,GAAG3oG,OACjBk/B,EAAOA,EAAO,IAAMA,EACbypE,EAAc,GAAG3oG,QAAU,IAElCk/B,EAAO,IAAIslD,OAAOmkB,EAAc,GAAG3oG,OAAS,GAAKk/B,EAAK0iE,YAG1D58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WACDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAME,EAAoBzF,GAAwBvtC,KAAK12B,GACvD,OAAkC,KAA9B0pE,aAAiB,EAAjBA,EAAmB5oG,UACnBgF,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,GAMPoD,aACJ,GAAIjG,GAAyBz9F,KAAK+/F,4BAA8B//F,KAAK6gG,6BACjE7gG,KAAKghG,iBAQT,IAHyBhhG,KAAKshG,aAGT,CACjB,MAAMpnE,EAAOl6B,KAAKugG,eAAeyB,YACjChiG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YAILsC,kBAGJ,MAAMnxC,EAAQ6sC,GAAoB1tC,KAAK5wD,KAAKugG,gBAC5C,GAAc,OAAV9uC,GAAmC,IAAjBA,EAAMz2D,OAAc,CACtC,MAAM6oG,EAAgBpyC,EAAM,GACtBqyC,EAAYryC,EAAM,GAEF,UAAlBoyC,IACA7jG,KAAKy/F,uBAAwB,EAC7Bz/F,KAAKyiG,cACLziG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,YAAYqB,GACjB9jG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,eAIa,IAAtBziG,KAAK4/F,aAEL5/F,KAAKghG,YAELhhG,KAAK4nB,OAAS5nB,KAAK+jG,qBAGvB/jG,KAAKsgG,WAGDyD,uBACCtG,GAAyBz9F,KAAK+/F,6BAA8B//F,KAAK6gG,8BAKlE7gG,KAAKy/F,uBAGLz/F,KAAK0hG,gBAAgB1hG,KAAKugG,eAAe3D,YAG7C58F,KAAKsgG,YAVDtgG,KAAKghG,YAaLyB,YAAYvoE,GACXujE,GAAyBvjE,GAGlBl6B,KAAKu/F,uBACbv/F,KAAKs/F,UAAY,KACjBt/F,KAAKu/F,sBAAuB,IAJ5Bv/F,KAAKs/F,UAAYplE,EAAO,KACxBl6B,KAAKu/F,sBAAuB,GAO5BgD,QAAQnrE,GACZp3B,KAAKs/F,UAAYloE,EACjBp3B,KAAKu/F,sBAAuB,EAGxBc,yBAAyBnmE,EAAc8pE,GAAY,GACvDhkG,KAAKs/F,SAAWt/F,KAAKs/F,SAASxC,YAC9B98F,KAAKu/F,sBAAuB,EAEvByE,GACDhkG,KAAKyiG,cAGTziG,KAAKyiG,YAAYvoE,IAIzB,SAASumE,GAAoBjyF,GACzB,OAAOA,EAAEy1F,OAAOtG,IAGpB,SAASF,GAAyBjvF,GAC9B,YAAa1P,IAAN0P,IAAoBovF,GAAoB5mD,KAAKxoC,GAGxD,SAASszF,GAAU5nE,G,QACf,YAAgBp7B,IAATo7B,IAA4D,QAArC,EAA6B,QAA7B,EAAAA,EAAKu3B,MAAM,0BAAkB,eAAEz2D,cAAM,QAAI,GAAK,EC5zBzE,SAASkpG,GAAgBx8B,GAE5B,OAAOE,GADW0vB,GAAuB5vB,ICyDtC,MAAMy8B,GAAyB,IAE/B,MAAMC,GACTn4F,YAAmByjF,EAA0B2U,EAAyBC,GAAnD,KAAA5U,YAA0B,KAAA2U,WAAyB,KAAAC,YAMnE,MAAMC,GAAwB,GA6B9B,IAAUC,GAmFAC,GAgBAC,GA4BAC,GAwQAC,GAwkBAC,GAocAC,GAmBAC,GAyBAC,GA2BAC,GAyBAC,GAmGAC,GA4JAC,GAkIV,SAASC,GAAQrmG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASgnC,GAAetmG,GAC3B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASvmG,WAAWe,GAG/D,SAASumG,GAAgBvmG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASgB,eAAexmG,GAGnE,SAASymG,GAAMzmG,GAClB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASonC,GAAU1mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASqnC,GAAe3mG,GAC3B,OAAsB,IAAlBA,EAAKs/D,UAAmD,IAAlBt/D,EAAKs/D,YAI3CsnC,GAAQ5mG,SAC6DF,IAA9DE,EAAK6mG,SAASt6B,MAAMu6B,IAAaH,GAAeG,KAMxD,SAASC,GAAU/mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASsnC,GAAQ5mG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0nC,GAAkBhnG,GAC9B,QAAI+mG,GAAU/mG,MAIV4mG,GAAQ5mG,SAC+DF,IAAhEE,EAAK6mG,SAASt6B,MAAMu6B,GAAYE,GAAkBF,KAM1D,SAASG,GAAQjnG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS4nC,GAAoBlnG,GAChC,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASgB,eAAexmG,GAGpE,SAASmnG,GAAgBnnG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASvmG,WAAWe,GAGhE,SAASonG,GAASpnG,GACrB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS+nC,GAAUrnG,GACtB,OAAyB,KAAlBA,EAAKs/D,SAGT,SAASgoC,GAAkBtnG,GAC9B,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,WAG3D,SAASC,GAA0BznG,GAItC,OAHI4mG,GAAQ5mG,IAAkC,IAAzBA,EAAK6mG,SAAS7qG,SAC/BgE,EAAOA,EAAK6mG,SAAS,IAEA,KAAlB7mG,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,cAAgBxnG,EAAK0nG,mBAGhF,SAASC,GAAgB3nG,GAC5B,SAAKinG,GAAQjnG,KAAUA,EAAK4nG,YAOzB,SAASA,GAAW5nG,GACvB,OAAOynG,GAA0BznG,IAAS2nG,GAAgB3nG,GAGvD,SAAS6nG,GAAY7nG,GACxB,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQM,YAG3D,SAASC,GAAW9nG,GACvB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASyoC,GAAqB/nG,GACjC,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0oC,GAAiBhoG,GAC7B,OAAIA,EAAKioG,cACEjoG,EAAKioG,cAIZZ,GAAUrnG,IACVA,EAAKunG,QAAQW,wBACbloG,EAAKunG,QAAQY,WACbnoG,EAAKunG,QAAQY,UAAUF,cAEhBjoG,EAAKunG,QAAQY,UAAUF,mBANlC,EAeG,SAASG,GACZC,EACAC,EACAC,GAAsB,EACtBC,GAAkB,EAClBC,EAAiB,G,QAEjB,GAAIJ,IAAUC,EACV,OAAO,EAGX,GAAID,EAAM/oC,WAAagpC,EAAMhpC,SACzB,OAAO,EAGX,IAAKkpC,GAAmBH,EAAMn+B,QAAUo+B,EAAMp+B,MAC1C,OAAO,EAGX,GAAIu+B,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQJ,EAAM/oC,UACV,KAAK,EAAoB,CACrB,MAAMopC,EAAaJ,EAGnB,IAAK1C,GAAU+C,mBAAmBN,EAAOK,EAAYD,GACjD,OAAO,EAGX,IAAKvC,GAAc0C,OAAOP,EAAMQ,UAAWP,EAAMO,WAC7C,OAAO,EAGX,IAAKN,IAAwB3C,GAAUkD,qBAAqBT,GAExD,GAAIA,EAAMU,oBAAsBL,EAAWK,mBAAoB,CAC3D,MAAMC,EAAqBX,EAAMU,oBAAsB,GACjDE,EAAqBP,EAAWK,oBAAsB,GAC5D,GAAIC,EAAmBhtG,SAAWitG,EAAmBjtG,OACjD,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0tG,EAAmBhtG,OAAQV,IAAK,CAChD,IACK8sG,GACGY,EAAmB1tG,GAAG0E,KACtBipG,EAAmB3tG,GAAG0E,KACtBuoG,GACsB,EACtBE,GAGJ,OAAO,EAGX,GAAIO,EAAmB1tG,GAAG4tG,cAAgBD,EAAmB3tG,GAAG4tG,YAC5D,OAAO,OAGZ,CACH,MAAMC,EAAgBd,EAAMe,eAAiB,GACvCC,EAAgBX,EAAWU,eAAiB,GAC5CE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAMvB,QAAK7C,GAAU2D,mBAAmBlB,EAAOK,GAO7C,KAAK,EAAuB,CAExB,MAAMc,EAAgBlB,EAChBmB,EAAUpB,EAAMd,QAAQljE,WACxBqlE,EAAUF,EAAcjC,QAAQljE,WAEtC,GAAIolE,EAAQztG,SAAW0tG,EAAQ1tG,OAC3B,OAAO,EAGX,MAAM2tG,EAAuBF,EAAQlZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAE/Du8F,EAAuBF,EAAQnZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAIrE,IAAK,IAAI/R,EAAI,EAAGA,EAAImuG,EAAQztG,OAAQV,IAAK,CACrC,MAAMuuG,EAASJ,EAAQnuG,GACjBwuG,EAASJ,EAAQpuG,GAEvB,GAAIuuG,EAAOvqC,WAAawqC,EAAOxqC,SAC3B,OAAO,EAGX,MAAMyqC,OAA2CjqG,IAAzB6pG,GAAsCruG,GAAKquG,EAGnE,GAAII,UAF6CjqG,IAAzB8pG,GAAsCtuG,GAAKsuG,GAG/D,OAAO,EAGX,GAAIG,GACIF,EAAOx8F,OAASy8F,EAAOz8F,KACvB,OAAO,EAMf,IACK+6F,GAHcvC,GAAamE,0BAA0B3B,EAAO/sG,GAC9CuqG,GAAamE,0BAA0BR,EAAeluG,GAKjEitG,GACsB,EACtBE,GAGJ,OAAO,EAKf,IAAIwB,EAAc5B,EAAMd,QAAQ2C,mBAC5B7B,EAAM8B,kBAAoB9B,EAAM8B,iBAAiBC,aACjDH,EAAc5B,EAAM8B,iBAAiBC,aAEpCH,GAAe5B,EAAMgC,qBACtBJ,EAAc5B,EAAMgC,oBAGxB,IAAIC,EAAcd,EAAcjC,QAAQ2C,mBAQxC,OAPIV,EAAcW,kBAAoBX,EAAcW,iBAAiBC,aACjEE,EAAcd,EAAcW,iBAAiBC,aAE5CE,GAAed,EAAca,qBAC9BC,EAAcd,EAAca,wBAG5BJ,IAAeK,GAEVL,GACAK,GACAlC,GACG6B,EACAK,EACA/B,GACsB,EACtBE,IAUhB,KAAK,EAAiC,CAElC,MAAMe,EAAgBlB,EACtB,GAAID,EAAMkC,UAAUvuG,SAAWwtG,EAAce,UAAUvuG,OACnD,OAAO,EAKX,IAAK,IAAIV,EAAI,EAAGA,EAAI+sG,EAAMkC,UAAUvuG,OAAQV,IACxC,IACK8sG,GACGC,EAAMkC,UAAUjvG,GAChBkuG,EAAce,UAAUjvG,GACxBitG,EACAC,EACAC,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAoB,CACrB,MAAM+B,EAAalC,EACbmC,EAAYpC,EAAMxB,SAClB6D,EAAYF,EAAW3D,SAE7B,OAAI4D,EAAUzuG,SAAW0uG,EAAU1uG,aAQ/B8D,IADA6qG,GAAYtC,GAAQvB,IAAaX,GAAUyE,aAAaJ,EAAY1D,EAAS2B,KAKrF,KAAK,GAAsB,CACvB,MAAMoC,EAAevC,EAErB,GAAID,EAAMyC,UAAYD,EAAaC,QAC/B,OAAO,EAKX,GAAIzC,EAAMd,QAAQwD,yBAA2BF,EAAatD,QAAQwD,wBAAyB,CACvF,MAAM5B,GAAoC,QAApB,EAAAd,aAAK,EAALA,EAAOJ,qBAAa,eAAEmB,gBAAiB,GACvDC,GAAoC,QAApB,EAAAf,aAAK,EAALA,EAAOL,qBAAa,eAAEmB,gBAAiB,GACvDE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAKnB,GAAIJ,EAAMd,UAAYsD,EAAatD,QAC/B,OAAO,EAGX,GACIc,EAAMd,QAAQl6F,OAASw9F,EAAatD,QAAQl6F,MAC5Cg7F,EAAMd,QAAQM,cAAgBgD,EAAatD,QAAQM,aACnDQ,EAAMd,QAAQC,aAAeqD,EAAatD,QAAQC,YAClDa,EAAMd,QAAQyD,gBAAkBH,EAAatD,QAAQyD,eACrD3C,EAAMd,QAAQ0D,WAAaJ,EAAatD,QAAQ0D,UAChD5C,EAAMyC,UAAYD,EAAaC,QAE/B,OAAO,EAGX,MAAMI,EAAa7C,EAAMd,QAAQY,UAC3BgD,EAAaN,EAAatD,QAAQY,UACxC,GAAI+C,GACA,IACKC,IACA/C,GACG8C,EACAC,EACA5C,GACsB,EACtBE,GAGJ,OAAO,OAGX,GAAI0C,EACA,OAAO,EAIf,MAAMC,EAAe/C,EAAMd,QAAQ8D,YAC7BC,EAAeT,EAAatD,QAAQ8D,YAC1C,GAAID,EAAapvG,SAAWsvG,EAAatvG,OACrC,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI8vG,EAAapvG,OAAQV,IACrC,IACK8sG,GACGgD,EAAa9vG,GACbgwG,EAAahwG,GACbitG,GACsB,EACtBE,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAqB,CACtB,MAAM8C,EAAcjD,EAIpB,OAAID,EAAMmD,SAAWD,EAAYC,QAMP,IAAtBnD,EAAMmD,OAAOlrG,MAA0C,IAA5BirG,EAAYC,OAAOlrG,MAQ1D,OAAO,EAKJ,SAASmrG,GAAuBzrG,GACnC,OAAO0rG,GAAgB1rG,GAAOutD,GAAYm5C,GAAUn5C,KAKjD,SAASo+C,GAAc3rG,GAC1B,OAAI4mG,GAAQ5mG,GACD0rG,GAAgB1rG,GAAOutD,GAAYw5C,GAAUx5C,KAGpDw5C,GAAU/mG,GACH0lG,GAAYvyF,SAGhBnT,EAKJ,SAAS4rG,GAAoB5rG,GAChC,OAAO0rG,GAAgB1rG,GAAOutD,GAAY+4C,GAAe/4C,KAGtD,SAASm+C,GAAgB1rG,EAAY6rG,GACxC,GAAIjF,GAAQ5mG,GAAO,CACf,MAAM8rG,EAAiB9rG,EAAK6mG,SAASh9C,QAAQ0D,IAAOs+C,EAAat+C,KACjE,GAAIu+C,EAAe9vG,OAASgE,EAAK6mG,SAAS7qG,OAAQ,CAC9C,MAAM+vG,EAAUC,GAAaF,GAM7B,OAJIlF,GAAQmF,IACR5F,GAAU8F,mBAAmBF,EAAS/rG,GAGnC+rG,GAIf,OAAO/rG,EAGJ,SAAS2qG,GAAY3qG,EAAY6pD,GACpC,OAAI+8C,GAAQ5mG,GACDA,EAAK6mG,SAASt6B,MAAMu6B,GAChBj9C,EAAOi9C,KAIfj9C,EAAO7pD,GAAQA,OAAOF,EAO1B,SAASksG,GAAanF,EAAkBqF,GAE3C,IAAIC,GAAc,EAOlB,GAAwB,KANxBtF,EAAWA,EAASh9C,QAAQi9C,IACC,IAArBA,EAAQxnC,UAAmCwnC,EAAQsF,aACnDD,GAAc,GAEU,IAArBrF,EAAQxnC,aAENtjE,OACT,OAAOmwG,EAAcnG,GAAUqG,iBAAmBrG,GAAUsG,cAKhE,IAAIC,GAAqB,EACzB,IAAK,IAAIphF,EAAQ,EAAGA,EAAQ07E,EAAS7qG,OAAQmvB,IACzC,GAAI07E,EAAS17E,KAAW07E,EAAS,GAAI,CACjC0F,GAAqB,EACrB,MAIR,GAAIA,EACA,OAAO1F,EAAS,GAIpB,IAAI2F,EAAwB,GAC5B,MAAMC,EAAgC,GACtC,IAAK,MAAM3F,KAAWD,EACdD,GAAQE,IACR0F,EAAcnwG,QAAQyqG,EAAQD,UAC1BC,EAAQmB,cACRwE,EAAiBpwG,KAAKyqG,GACfA,EAAQ2F,kBACfA,EAAiBpwG,QAAQyqG,EAAQ2F,mBAGrCD,EAAcnwG,KAAKyqG,GA6B3B,GAxBA0F,EAAgBA,EAAchyC,MAAK,CAAC6tC,EAAOC,IAElCnB,GAAgBkB,SAAiCvoG,IAAvBuoG,EAAMqE,cAChCxF,GAAoBmB,SAAiCvoG,IAAvBuoG,EAAMqE,aAE9B,EAENvF,GAAgBmB,SAAiCxoG,IAAvBwoG,EAAMoE,cAChCxF,GAAoBoB,SAAiCxoG,IAAvBwoG,EAAMoE,cAE7B,EAGRvF,GAAgBkB,IAAUA,EAAMsE,iBACzB,EACAxF,GAAgBmB,IAAUA,EAAMqE,kBAC/B,EAGL,IAKkB,IAAzBH,EAAcxwG,OACd,OAAO0pG,GAAYvyF,SAGvB,MAAMy5F,EAAezG,GAAUhzF,SAC3Bs5F,EAAiBzwG,OAAS,IAC1B4wG,EAAaH,iBAAmB,IAAI36D,IACpC26D,EAAiBnmF,SAAS3D,IACtBiqF,EAAaH,iBAAkB7lF,IAAIjE,OAI3C,IAAIkqF,GAAqB,EAczB,OAZAL,EAAclmF,SAAQ,CAACwgF,EAAS37E,KACd,IAAVA,EACAg7E,GAAU2G,QAAQF,EAAc9F,QAERhnG,IAApBosG,GAAiCU,EAAa/F,SAAS7qG,OAASkwG,EA4ChF,SAA0Ba,EAAsBC,GAI5C,GAAI7F,GAAgB6F,SAAsCltG,IAAxBktG,EAAUnE,UAAyB,CACjE,GACIjD,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUG,cAKV,YAHKH,EAAUG,cAAc9nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAG9B,GACHpH,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUI,cAKV,YAHKJ,EAAUI,cAAc/nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAMzC,IAAK,IAAI1xG,EAAI,EAAGA,EAAIyxG,EAAUlG,SAAS7qG,OAAQV,IAAK,CAChD,MAAM0E,EAAO+sG,EAAUlG,SAASvrG,GAGhC,GAAI8sG,GAAWpoG,EAAMgtG,GACjB,OAKJ,GAAI7F,GAAgBnnG,IAASmnG,GAAgB6F,GAAY,CACrD,GAAII,GAA0BptG,EAAMgtG,SACNltG,IAAtBE,EAAK0sG,aACL,OAMR,GACI9G,GAAUqH,UAAUjtG,EAAM,UACzBA,EAAK6oG,WACNjD,GAAUqH,UAAUD,EAAW,UAC9BA,EAAUnE,gBAEoB/oG,IAA3BktG,EAAUN,eAA+BM,EAAUN,eAAiB1sG,EAAK0sG,aAEzE,YADAK,EAAUlG,SAASvrG,GAAKsqG,GAAUyH,iBAAiBrtG,OAAMF,IAQrE,GAAIqnG,GAAgB6F,IAAcA,EAAUL,kBACpCxF,GAAgBnnG,IAAS4lG,GAAU+C,mBAAmB3oG,EAAMgtG,GAC5D,OAKZ7G,GAAU2G,QAAQC,EAAWC,GA9GjBM,CAAiBV,EAAc9F,GAE/B+F,GAAqB,KAK7BA,EACO5G,GAAQ9yF,SAIkB,IAAjCy5F,EAAa/F,SAAS7qG,OACf4wG,EAAa/F,SAAS,GAG1B+F,EAMJ,SAASQ,GAA0BG,EAAgBC,GAEtD,QAAIpF,GAAWmF,EAAUC,KAIrBtG,GAAoBsG,SAAqC1tG,IAAzB0tG,EAAQd,iBAMxCvF,GAAgBqG,SAAqC1tG,IAAzB0tG,EAAQd,gBAH7BtE,GAAWmF,EADlBC,EAAU5H,GAAUyH,iBAAiBG,OAAS1tG,KAv/EtD,SAAiB0lG,GAyBb,SAAgBiI,EAA8BztG,GAC1C,MAAO,IAAKA,GAzBA,EAAAwmG,eAAhB,SAA+BxmG,GAC3B,OAAiD,IAA5B,EAAbA,EAAKkqE,QAGD,EAAAjrE,WAAhB,SAA2Be,GACvB,OAA6C,IAAxB,EAAbA,EAAKkqE,QAGD,EAAAwjC,YAAhB,SAA4B1tG,GACxB,OAA8C,IAAzB,EAAbA,EAAKkqE,QAGD,EAAAyjC,cAAhB,SAA8B3tG,GAC1B,OAAgD,IAA3B,EAAbA,EAAKkqE,QAGD,EAAA0jC,eAAhB,SAA+B5tG,GAC3B,OAAQA,EAAKkqE,OAAS,GAGV,EAAA2jC,YAAhB,SAA4B7tG,GACxB,QAASA,EAAK6tG,aAGF,EAAAJ,UAAS,EAIT,EAAAK,kBAAhB,SACI9tG,EACAqN,EACA0gG,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAYV,EAAUztG,GAU5B,OARAmuG,EAAUlG,cAAgB,CACtB56F,OACA0gG,WACAK,eAAgBH,EAChB7E,cAAe8E,EACfF,kBAGGG,GAGK,EAAAE,kBAAhB,SAAkCruG,GAC9B,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUjkC,OAAS,EACZikC,GAGK,EAAAG,kBAAhB,SAAkDtuG,EAAS6oG,GAGvD,QAAuB/oG,IAAnBE,EAAK6oG,gBAAyC/oG,IAAd+oG,EAChC,OAAO7oG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUtF,UAAYA,EACfsF,GAGK,EAAAI,sBAAhB,SAAsCvuG,GAClC,GAAIA,EAAK6tG,YACL,OAAO7tG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUN,aAAc,EACjBM,GA3Ef,CAAiB3I,QAAQ,KAmFzB,SAAiBC,GACb,MAAM+I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB/I,QAAW,KAgB5B,SAAiBC,GACb,MAAM8I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB9I,QAAW,KA4B5B,SAAiBC,GACG,EAAAxyF,OAAhB,SAAuB64D,EAAoBnP,EAAkB4xC,GASzD,MARkC,CAC9BnvC,SAAU,EACVksC,OAAQiD,GAAe,IAAI3vF,IAC3B4vF,aAAc,IAAI5vF,IAClBorD,MAAO,EACP8B,aACAnP,aAKQ,EAAA8xC,SAAhB,SAAyBC,EAAwBvhG,GAI7C,IAAIsuE,EAASizB,EAAWpD,OAAOjmG,IAAI8H,GAEnC,GAAIuhG,EAAWF,aACX,GAAK/yB,GAEE,GAAIA,EAAOkzB,qBAAsB,CAIpC,MAAMC,EAAeF,EAAWF,aAAanpG,IAAI8H,GAC7CyhG,IAAiBA,EAAaD,uBAC9BlzB,EAASmzB,SAPbnzB,EAASizB,EAAWF,aAAanpG,IAAI8H,GAW7C,OAAOsuE,GAhCf,CAAiBgqB,QAAU,KAwQ3B,SAAiBC,GA+Cb,SAAgBmJ,EAAoBC,GAChC,GAAIxJ,GAASgB,eAAewI,GACxB,OAAOA,EAGX,MAAMC,EAAYzJ,GAASiI,UAAUuB,GAGrC,OAFAC,EAAU/kC,QAAS,EACnB+kC,EAAU/kC,OAAS,EACZ+kC,EA2HX,SAAgBhC,EAAUgC,EAAsBve,GAC5C,KAAgC,EAA1Bue,EAAU1H,QAAQr9B,OACpB,OAAO,EAGX,QAAkBpqE,IAAd4wF,EAAyB,CACzB,MAAMwe,EAAaxyG,MAAMuD,QAAQywF,GAAaA,EAAY,CAACA,GAC3D,OACIwe,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAU1H,QAAQl6F,QACrD6hG,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAUE,YAIrD,OAAO,EAgHX,SAAgBxG,EAAmBsG,EAAsB3G,EAAkBG,EAAiB,GACxF,GAAIA,EAAiBlD,GACjB,OAAO,EAKX,GAHAkD,IAGIwG,EAAU1H,UAAYe,EAAMf,QAC5B,OAAO,EAKX,MAAM6H,EAAgBH,EAAU1H,QAC1B8H,EAAgB/G,EAAMf,QAE5B,GAAI6H,IAAkBC,EAClB,OAAO,EAKX,GACID,EAAcrB,WAAasB,EAActB,UACzCqB,EAAcllC,QAAUmlC,EAAcnlC,OACtCklC,EAAcE,eAAiBD,EAAcC,cAC7CF,EAAcG,YAAYvzG,SAAWqzG,EAAcE,YAAYvzG,QAC/DozG,EAAchB,eAAepyG,SAAWqzG,EAAcjB,eAAepyG,OAErE,OAAO,EAKX,GAAI4pG,EAAUqH,UAAUgC,EAAW,eAAiBrJ,EAAUqH,UAAU3E,EAAO,cAC3E,OAAO,EAEX,GAAI1C,EAAUqH,UAAUgC,EAAW,UAAYrJ,EAAUqH,UAAU3E,EAAO,SACtE,OAAO,EAIX,IAAK,IAAIhtG,EAAI,EAAGA,EAAI8zG,EAAcG,YAAYvzG,OAAQV,IAClD,IACK8sG,GACGgH,EAAcG,YAAYj0G,GAC1B+zG,EAAcE,YAAYj0G,IACA,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,IAAI2G,EAAcI,mBAAqBH,EAAcG,sBAE5CJ,EAAcI,oBACdH,EAAcG,oBACdpH,GACGgH,EAAcI,kBACdH,EAAcG,mBACY,OACJ1vG,EACtB2oG,IAGJ,OAAO,EAIf,IAAK,IAAIntG,EAAI,EAAGA,EAAI8zG,EAAchB,eAAepyG,OAAQV,IACrD,IACK8sG,GACGgH,EAAchB,eAAe9yG,GAC7B+zG,EAAcjB,eAAe9yG,IACH,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,OAAO,EApYK,EAAAgH,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACAnP,EACAqN,EACAolC,EACAE,EACAE,EACArR,GAsBA,MApB4B,CACxB/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACAnP,WACAqN,QACAolC,eACAC,YAAa,GACbC,oBACAE,qBACAC,IAAK,GACLnE,OAAQ,IAAI1sF,IACZsvF,eAAgB,GAChB/P,aAEJn0B,MAAO,IAMC,EAAA0lC,gBAAhB,SAAgCX,GAC5B,GAAIzJ,GAASvmG,WAAWgwG,GACpB,OAAOA,EAGX,MAAMD,EAAaxJ,GAASiI,UAAUwB,GAItC,OAHAD,EAAW9kC,QAAU,EACrB8kC,EAAW9kC,OAAS,EACpB8kC,EAAWa,mBAAoB,EACxBb,GAGK,EAAAD,oBAAmB,EAWnB,EAAAe,uBAAhB,SACIb,EACA7F,EACA2G,EACAF,GAAoB,EACpB9G,EACA4D,GAEA,MAAMqD,EAAexK,GAASiI,UAAUwB,GAqBxC,OAlBAe,EAAa5G,cAAgBA,EACvBA,EAActkF,KAAKyoC,GAAO84C,GAAQ94C,KAAOA,EAAE6+C,WAAa1G,GAAYvyF,SAAWo6C,SAC/EztD,EAENkwG,EAAaD,uBAAyBA,EAClCF,IACAG,EAAaH,mBAAoB,GAErCG,EAAajH,mBAAqBA,EAC5BA,EAAmBjkF,KAAKyoC,GACpB84C,GAAQ94C,EAAEvtD,MAAQ,CAAEA,KAAM0lG,GAAYvyF,SAAU+1F,YAAa37C,EAAE27C,aAAgB37C,SAEnFztD,OAEmBA,IAArB6sG,IACAqD,EAAarD,iBAAmBA,GAG7BqD,GAGK,EAAA3C,iBAAhB,SAAiC4B,EAAsB3wG,GACnD,MAAM0xG,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAatD,aAAepuG,EACrB0xG,GAGK,EAAAC,oBAAhB,SAAoChB,EAAsBE,GACtD,MAAMa,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAab,UAAYA,EAClBa,GAGK,EAAAE,iCAAhB,SACIjB,EACAkB,GAEA,MAAMH,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAaI,yBAA2BD,EACjCH,GAGK,EAAAK,2BAAhB,SAA2CpB,EAAsBhB,GAC7D,MAAM+B,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQ6G,eAAiBH,EAC/B+B,GAGK,EAAAM,kBAAhB,SACIrB,EACAsB,EACAC,GAEA,MAAMR,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAaO,cAAgBA,EAC7BP,EAAaQ,kBAAoBA,EAC1BR,GAGK,EAAAS,0BAAhB,SAA0CxB,GACtC,MAAMe,EAAexK,GAASiI,UAAUwB,GAKxC,OAJAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQiE,OAAS,IAAI1sF,IAAIkxF,EAAazI,QAAQiE,QAC3DwE,EAAazI,QAAQoI,IAAM,IAAIK,EAAazI,QAAQoI,KACpDK,EAAazI,QAAQoI,IAAI,GAAKZ,EAAoBiB,GAC3CA,GAGK,EAAAU,iBAAhB,SAAiCzB,EAAsBrH,GAAa,GAChE,MAAMoI,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAapI,WAAaA,EACnBoI,GAGK,EAAAzG,mBAAhB,SAAmClB,EAAkBC,GACjD,YAA2BxoG,IAAvBuoG,EAAMqE,kBACwB5sG,IAAvBwoG,EAAMoE,kBACiB5sG,IAAvBwoG,EAAMoE,eAIbrE,EAAMqE,wBAAwBtH,GAC1BkD,EAAMoE,wBAAwBtH,IACvBiD,EAAMqE,aAAarH,WAAaiD,EAAMoE,aAAarH,SAK3DgD,EAAMqE,eAAiBpE,EAAMoE,eAIxB,EAAAiE,gBAAhB,SAAgC1B,GAC5B,OAAOA,EAAU1H,QAAQ6G,eAAepyG,OAAS,QAAiC8D,IAA5BmvG,EAAU7F,eAGpD,EAAAwH,iBAAhB,SAAiC3B,EAAsBve,GACnD,SAAgC,EAA1Bue,EAAU1H,QAAQr9B,OAA2C+kC,EAAUE,kBAI3DrvG,IAAd4wF,GACOue,EAAU1H,QAAQl6F,OAASqjF,IAM1B,EAAAuc,UAAS,EAgBT,EAAA4D,wBAAhB,SAAwC5B,GACpC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4mC,YAAhB,SAA4B7B,GACxB,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA6mC,+BAAhB,SAA+C9B,GAC3C,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8mC,6BAAhB,SAA6C/B,GACzC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+mC,kBAAhB,SAAkChC,GAC9B,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgnC,4BAAhB,SAA4CjC,GACxC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAinC,6BAAhB,SAA6ClC,GACzC,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAknC,0BAAhB,SAA0CnC,GACtC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmnC,gCAAhB,SAAgDpC,GAC5C,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAonC,iBAAhB,SAAiCrC,GAC7B,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAqnC,oBAAhB,SAAoCtC,GAChC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAsnC,YAAhB,SAA4BvC,GACxB,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAunC,gBAAhB,SAAgCxC,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAwnC,gBAAhB,SAAgCzC,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAyyB,QAAhB,SAAwBsS,GACpB,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAynC,gBAAhB,SAAgC1C,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA0nC,gBAAhB,SAAgC3C,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4+B,qBAAhB,SAAqCmG,GACjC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA2nC,oBAAhB,SAAoC5C,GAChC,OAAOA,EAAU1H,QAAQuK,kBAAoB,IAGjC,EAAAC,mBAAhB,SAAmC9C,GAC/B,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8nC,uBAAhB,SAAuC/C,GACnC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+nC,uBAAhB,SAAuChD,GACnC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgoC,sBAAhB,SAAsCjD,GAClC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAioC,aAAhB,SAA6BlD,GACzB,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAkoC,4BAAhB,SAA4CnD,GACxC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmoC,kBAAhB,SAAkCpD,GAC9B,OAAOA,EAAU1H,QAAQ6G,gBAGb,EAAAkE,oBAAhB,SAAoCrD,GAChC,OAAOA,EAAU1H,QAAQoI,IAAIlgD,MAAM8iD,GAAc5L,GAAe4L,MAIpD,EAAA5J,mBAAkB,EA8FlB,EAAA6J,cAAhB,SAAgBA,EACZC,EACAC,EACAC,GAGA,GAAIhK,EAAmB8J,EAAcC,GAIjC,OAHIC,GACAA,EAAiBt2G,KAAKo2G,IAEnB,EAMX,GAAIxF,EAAUwF,IAAiBxF,EAAUyF,EAAiB,UAItD,OAHIC,GACAA,EAAiBt2G,KAAKq2G,IAEnB,EAGX,IAAK,MAAMH,KAAaE,EAAalL,QAAQgI,YACzC,GAAIrI,GAAoBqL,IACpB,GAAIC,EAAcD,EAAWG,EAAiBC,GAI1C,OAHIA,GACAA,EAAiBt2G,KAAKo2G,IAEnB,OAER,GAAI9L,GAAe4L,GAItB,OAHII,GACAA,EAAiBt2G,KAAKqpG,GAAYvyF,WAE/B,EAIf,OAAO,GApbf,CAAiByyF,QAAS,KAwkB1B,SAAiBC,GAqBb,SAAS1yF,EACL9F,EACA0gG,EACA/hC,EACA4mC,EACAC,EACAxU,GAcA,MAZsC,CAClC/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACA9B,MAAO0oC,EACPvuE,WAAY,GACZg6D,aAEJn0B,MAAO2oC,GAmYf,SAAgB7I,EAA0BhqG,EAAoBmrB,GAG1D,OAFA2nC,EAAO3nC,EAAQnrB,EAAKunG,QAAQljE,WAAWroC,OAAQ,kCAE3CgE,EAAKmqG,kBAAoBh/E,EAAQnrB,EAAKmqG,iBAAiB2I,eAAe92G,OAC/DgE,EAAKmqG,iBAAiB2I,eAAe3nF,GAGzCnrB,EAAKunG,QAAQljE,WAAWlZ,GAAOnrB,KAhb1B,EAAA+yG,eAAhB,SACI1lG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAoBvU,IAGjE,EAAAoR,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAwBvU,IA4BrE,EAAA2U,MAAhB,SACIhzG,EACAizG,GAAkB,EAClBC,EACAC,GAEA,MAAMC,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WA4CjB,OAzCA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAChC6L,EAAYF,YAAcA,EAC1BE,EAAYC,cAAgBD,EAAY7L,QAAQr9B,MAE5C+oC,IAEIjzG,EAAKunG,QAAQljE,WAAWroC,OAAS,GACO,IAAxCgE,EAAKunG,QAAQljE,WAAW,GAAGi7B,UAEvBt/D,EAAKunG,QAAQljE,WAAWroC,OAAS,IAAMgE,EAAKunG,QAAQljE,WAAW,GAAGivE,iBAGlEF,EAAYG,uBAAyBvJ,EAA0BhqG,EAAM,IAEzEozG,EAAY7L,QAAQljE,WAAarkC,EAAKunG,QAAQljE,WAAWzlC,MAAM,IAE/Dq0G,GAAkB,EAKtBG,EAAY7L,QAAQr9B,QAAS,EAC7BkpC,EAAY7L,QAAQr9B,OAAS,QAGNpqE,IAAvBE,EAAKioG,gBACLmL,EAAYnL,cAAgBjoG,EAAKioG,eAGjCjoG,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,CAC3B2I,eAAgBG,EACVjzG,EAAKmqG,iBAAiB2I,eAAel0G,MAAM,GAC3CoB,EAAKmqG,iBAAiB2I,eAC5B1I,WAAYpqG,EAAKmqG,iBAAiBC,aAI1CgJ,EAAY/I,mBAAqBrqG,EAAKqqG,mBACtC+I,EAAYD,oBAAsBA,EAE3BC,GAGK,EAAAxD,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAMK,EAAA1D,uBAAhB,SACI9vG,EACAmqG,EACAsJ,GAEA,MAAML,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAWjB,OATA+U,EAAY7L,QAAUvnG,EAAKunG,QAE3Bz0C,EAAOq3C,EAAiB2I,eAAe92G,SAAWgE,EAAKunG,QAAQljE,WAAWroC,QAC1Eo3G,EAAYjJ,iBAAmBA,EAE3BsJ,IACAL,EAAY/I,mBAAqBoJ,GAG9BL,GAIK,EAAAM,kBAAhB,SAAkC1zG,EAAoB2zG,GAClD,MAAMP,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAsDjB,OAnDA+U,EAAYjJ,iBAAmBnqG,EAAKmqG,iBAGpCiJ,EAAY7L,QAAU,IAAKvnG,EAAKunG,gBAIzB6L,EAAY7L,QAAQqM,UAEvBD,IACAP,EAAY7L,QAAQljE,WAAa,IAC1BrkC,EAAKunG,QAAQljE,cACbsvE,EAAetvE,WAAWvf,KAAK+uF,IACvB,CACHv0C,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAKvBozG,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAGnD+U,EAAY7L,QAAQr9B,MAEZ,MADHypC,EAAezpC,M,GAQhB27B,EAAaoO,iBAAiBj0G,KAC9BozG,EAAY7L,QAAQr9B,OAAS,OAI7BkpC,EAAYjJ,kBACZwJ,EAAetvE,WAAW/d,SAAS4tF,IAC/Bd,EAAYjJ,iBAAkB2I,eAAez2G,KAAK63G,EAAUl0G,SAIpEozG,EAAY7L,QAAQqM,UAAYD,EAAeC,WAG5CR,GAGK,EAAAe,kBAAhB,SAAkCn0G,EAAoBkqE,GAClD,MAAMkpC,EAAc5N,GAASiI,UAAUztG,GAOvC,OAJAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAEhC6L,EAAY7L,QAAQr9B,MAAQA,EAErBkpC,GAGK,EAAAgB,6BAAhB,SAA6Cp0G,EAAoB2zG,GAC7D,MAAMP,EAAc5N,GAASiI,UAAUztG,GAcvC,GAXAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAMxC23G,EAAetvE,WAAWorB,MAAMgL,GAA6B,IAAnBA,EAAM6E,WAA0C7E,EAAMptD,QAC5F+lG,EAAY7L,QAAQljE,WAAWroC,OAAS,EAAG,CAC3C,MAAMq4G,EAAYjB,EAAY7L,QAAQljE,WAAW+uE,EAAY7L,QAAQljE,WAAWroC,OAAS,GAC9D,IAAvBq4G,EAAU/0C,UAA0C+0C,EAAUhnG,MAC9D+lG,EAAY7L,QAAQljE,WAAW4W,MAqB3C,OAhBA04D,EAAetvE,WAAW/d,SAASutF,IAC/BT,EAAY7L,QAAQljE,WAAWhoC,KAAK,CAChCijE,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAIxBozG,EAAY7L,QAAQqM,UAAYD,EAAeC,UAC1CR,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAG5C+U,GAGK,EAAAkB,8BAAhB,SAA8Ct0G,EAAoB4zG,GAC9D,MAAMR,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAwBjB,OApBA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAGxCgE,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,IAAKnqG,EAAKmqG,kBACzCiJ,EAAYjJ,iBAAiB2I,eAAiBM,EAAYjJ,iBAAiB2I,eAAel0G,MACtF,EACAw0G,EAAYjJ,iBAAiB2I,eAAe92G,OAAS,IAIxDo3G,EAAY7L,QAAQqM,YACrBR,EAAY7L,QAAQqM,UAAYA,GAG7BR,GAGK,EAAAmB,qBAAhB,SAAqCC,EAA4BC,GAAa,GAC1E5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,OACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,IAEtB5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,SACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,KAKV,EAAAE,qBAAhB,SAAqCH,GACjC,IAAII,GAAU,EACVC,GAAY,EAEhB,IAAK,IAAIv5G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM8oB,EAAQowF,EAAajN,QAAQljE,WAAW/oC,GAG9C,GAAK8oB,EAAM/W,KAAX,CAIA,GAAuB,IAAnB+W,EAAMk7C,SACN,OAAO,EAOX,GAN8B,IAAnBl7C,EAAMk7C,SACbs1C,GAAU,EACgB,IAAnBxwF,EAAMk7C,WACbu1C,GAAY,IAGXlO,GAAed,EAAamE,0BAA0BwK,EAAcl5G,IACrE,OAAO,GAIf,OAAOs5G,GAAWC,GAGN,EAAAC,iBAAhB,SAAiC90G,GAC7B,OAKI,IAHI,EADHA,EAAKunG,QAAQr9B,QAQN,EAAA6qC,oBAAhB,SAAoC/0G,GAChC,OAAsE,IAAzC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8qC,eAAhB,SAA+Bh1G,GAC3B,OAAiE,IAApC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+qC,cAAhB,SAA8Bj1G,GAC1B,OAAgE,IAAnC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAgrC,iBAAhB,SAAiCl1G,GAC7B,OAAmE,IAAtC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAirC,YAAhB,SAA4Bn1G,GACxB,OAA8D,IAAjC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAkrC,oBAAhB,SAAoCp1G,GAChC,OAAsE,IAAzC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAmrC,uBAAhB,SAAuCr1G,GACnC,OAAyE,IAA5C,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAorC,aAAhB,SAA6Bt1G,GACzB,OAA+D,IAAlC,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAqrC,gCAAhB,SAAgDv1G,GAC5C,OAAyE,IAA5C,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0tB,QAAhB,SAAwB53F,GACpB,OAA0D,IAA7B,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAsrC,wBAAhB,SAAwCx1G,GACpC,OAA0E,IAA7C,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAurC,iBAAhB,SAAiCz1G,GAC7B,OAAmE,IAAtC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAwrC,oBAAhB,SAAoC11G,GAChC,OAAsE,IAAzC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyyB,QAAhB,SAAwB38F,GACpB,OAA0D,IAA7B,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyrC,qBAAhB,SAAqC31G,GACjC,OAAsE,IAAzC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0rC,uCAAhB,SAAuD51G,GACnD,OAAqF,IAAxD,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+pC,iBAAhB,SAAiCj0G,GAC7B,OAAmE,IAAtC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8/B,0BAAyB,EAUzB,EAAA0K,aAAhB,SAA6B10G,EAAoBokB,GAC7CpkB,EAAKunG,QAAQljE,WAAWhoC,KAAK+nB,IAGjB,EAAAyxF,yBAAhB,SAAyC71G,GACrC,OAAOA,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WAChDpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,oBA3b3B,CAAiBrE,QAAY,KAoc7B,SAAiBC,GACG,EAAA3yF,OAAhB,SAAuBo3F,GAMnB,MALwC,CACpCjrC,SAAU,EACVirC,YACArgC,MAAO,IAKC,EAAA4rC,YAAhB,SAA4B91G,EAA8Bw0G,GACtDx0G,EAAKuqG,UAAUluG,KAAKm4G,IAX5B,CAAiB1O,QAAsB,KAmBvC,SAAiBC,GACb,MAAMgQ,EAA0B,CAC5Bz2C,SAAU,EACV4K,MAAO,GAGL8rC,EAAsB,CACxB12C,SAAU,EACV4K,MAAO,GAGK,EAAA6oC,eAAhB,WACI,OAAOgD,GAGK,EAAAE,WAAhB,WACI,OAAOD,GAhBf,CAAiBjQ,QAAQ,KAyBzB,SAAiBC,GACb,MAAMkQ,EAA4B,CAC9B52C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGV+J,EAA+B,CACjC72C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGA,EAAAE,YAAhB,WACI,OAAO4J,GAGK,EAAA7J,eAAhB,WACI,OAAO8J,GAlBf,CAAiBnQ,QAAS,KA2B1B,SAAiBC,GACb,MAAMmQ,EAAwB,CAC1B92C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGLosC,EAA6B,CAC/Bh3C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGK,EAAA/2D,OAAhB,SAAuBkjG,GAAa,GAChC,OAAOA,EAAaC,EAAoBF,GAdhD,CAAiBnQ,QAAO,KAyBxB,SAAiBC,GAyBb,SAASqQ,EAASC,EAAmBC,GACjC,OAAID,EAAGE,YAAcD,EAAGC,aACZ,EACDF,EAAGE,YAAcD,EAAGC,YACpB,EAEPF,EAAGG,gBAAkBF,EAAGE,iBAChB,EACDH,EAAGG,gBAAkBF,EAAGE,gBACxB,EAEJ,EAnCK,EAAA9iE,QAAhB,SACI+iE,EACAC,GAEA,IAAKD,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAIX,MAAME,EAAW,IAAIF,GAQrB,OAPAC,EAAYvwF,SAASkwF,IACZM,EAASrnD,MAAMgnD,GAA4B,IAArBF,EAASC,EAAIC,MACpCK,EAASz6G,KAAKm6G,MAKfM,EAASt8C,KAAK+7C,IAiBT,EAAA3N,OAAhB,SACIgO,EACAC,GAEA,OAAKD,KAIAC,GAAeD,EAAY56G,SAAW66G,EAAY76G,cAS7C8D,IAJN82G,EAAYrqC,MACR,CAACiqC,EAAIrrF,IACDqrF,EAAGE,cAAgBG,EAAY1rF,GAAOurF,aACtCF,EAAGG,kBAAoBE,EAAY1rF,GAAOwrF,mBAX1CE,GAoBA,EAAAE,aAAhB,SACIH,EACAC,GAEA,IAAKD,IAAgBC,EACjB,OAAO,EAGX,IAAK,MAAML,KAAMI,EAAa,CAC1B,IAAII,GAAoB,EACxB,MAAMC,EAAaJ,EAAYtqC,MAAMkqC,GAC7BD,EAAGE,cAAgBD,EAAGC,cACtBM,GAAoB,EACbR,EAAGG,kBAAoBF,EAAGE,mBAKzC,GAAIK,IAAsBC,EACtB,OAAO,EAIf,OAAO,GAvFf,CAAiB/Q,QAAa,KAmG9B,SAAiBC,GACG,EAAAhzF,OAAhB,WAOI,MANgC,CAC5BmsD,SAAU,EACVunC,SAAU,GACV38B,MAAO,IAMC,EAAA4iC,QAAhB,SAAwBC,EAAsBhB,GAKtC5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,gBAEwB/oG,IAA5BitG,EAAUG,gBACVH,EAAUG,cAAgB,IAAIpuF,KAElCiuF,EAAUG,cAAc/mG,IAAI4lG,EAAQW,aAAwBX,IAE5D5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,iBAEwB/oG,IAA5BitG,EAAUI,gBACVJ,EAAUI,cAAgB,IAAIruF,KAElCiuF,EAAUI,cAAchnG,IAAI4lG,EAAQW,aAAiCX,IAGzEgB,EAAU7iC,OAAS6hC,EAAQ7hC,MAC3B6iC,EAAUlG,SAASxqG,KAAK0vG,IAGZ,EAAAnB,aAAhB,SAA6BmC,EAAsBjG,EAAe2B,EAAiB,GAG/E,GAAItB,GAAgBL,SAAkChnG,IAAtBgnG,EAAQ+B,UAAyB,CAC7D,GACIjD,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUG,cAEV,OAAOH,EAAUG,cAAc9nF,IAAI0hF,EAAQ4F,cACxC,GACH9G,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUI,cAEV,OAAOJ,EAAUI,cAAc/nF,IAAI0hF,EAAQ4F,cAInD,YASU5sG,IARNitG,EAAUlG,SAASt6B,MAAMhf,GACrB66C,GACI76C,EACAu5C,OAC0BhnG,OACJA,EACtB2oG,MAMA,EAAAwD,mBAAhB,SAAmCc,EAAsBmK,GACrD,GAAiC,IAA7BA,EAAgB53C,SAAiC,CACjD,MAAM63C,EAAeD,EAAgBjP,cAAgB,CAACiP,GAAmBA,EAAgBzK,iBAErF0K,IACKpK,EAAUN,mBACXM,EAAUN,iBAAmB,IAAI36D,KAGrCqlE,EAAa7wF,SAAS3D,IAClBoqF,EAAUN,iBAAkB7lF,IAAIjE,SAnFpD,CAAiBwjF,QAAS,KA4J1B,SAAiBC,GA4Fb,SAAgBgR,EAAkB/pG,EAAcy9F,GAC5C,MAAO,GAAGz9F,KAAQy9F,IAGtB,SAAS33F,EAAO9F,EAAcw6F,EAAsBgL,GAahD,MAZoC,CAChCvzC,SAAU,GACVioC,QAAS,CACLl6F,OACAg+F,YAAa,GACbJ,SAAU,EACVpD,cACAL,YAAY,EACZwD,eAAe,GAEnB9gC,MAAO2oC,GA1GC,EAAAE,eAAhB,SAA+B1lG,GAC3B,OAAO8F,EAAO9F,GAAwB,EAAO,IAGjC,EAAAoiG,mBAAhB,SAAmCpiG,EAAcw6F,GAAc,GAC3D,OAAO10F,EAAO9F,EAAMw6F,EAAa,IAGrB,EAAA+H,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAA6D,gBAAhB,SACIr3G,EACA8qG,EACAwM,EACAC,GAEA,MAAM/D,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYgE,cAAgBJ,EAAkBp3G,EAAKunG,QAAQl6F,KAAMy9F,GACjE0I,EAAY1I,QAAUA,EACtB0I,EAAY8D,UAAYA,EACxB9D,EAAY+D,UAAYA,EACjB/D,GAGK,EAAA9C,iBAAhB,SAAiC1wG,EAAmBy3G,GAAY,GAC5D3kD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,kBAAoBD,EACzBjE,GAGK,EAAAmE,eAAhB,SAA+B33G,GAC3B8yD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,mBAAoB,EACzBlE,GAKK,EAAAoE,iBAAhB,SAAiC53G,GAC7B,GAAIA,EAAKunG,QAAQM,aAAe7nG,EAAKunG,QAAQC,WACzC,OAAOxnG,EAGX,GAA8B,IAA1BA,EAAKunG,QAAQ0D,eACkBnrG,IAA3BE,EAAKunG,QAAQY,WAA+D,IAApCnoG,EAAKunG,QAAQ8D,YAAYrvG,OACjE,OAAOgE,EAIf,MAAMwzG,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQ0D,SAAW,EAC/BuI,EAAYjM,QAAQY,eAAYroG,EAChC0zG,EAAYjM,QAAQ8D,YAAc,GAC3BmI,GAGK,EAAAqE,wBAAhB,SAAwC73G,EAAmB83G,GACvD,MAAMtE,EAAchO,GAASiI,UAAUztG,GAEvC,OADAwzG,EAAYuE,gBAAkBD,EACvBtE,GAGK,EAAAwE,uBAAhB,SAAuCh4G,EAAmBi4G,GACtDnlD,EAAO9yD,EAAKunG,QAAQ2Q,mBACpB,MAAM1E,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQY,UAAY8P,EACzBzE,GAGK,EAAA4D,kBAAiB,EAoBjB,EAAAe,cAAhB,SAA8BC,EAA0BC,GACpDD,EAAY7Q,QAAQ8D,YAAYhvG,KAAKg8G,IAGzB,EAAAC,iBAAhB,SAAiCF,GAE7B,OAAOA,EAAYZ,eAAiBY,EAAY7Q,QAAQl6F,MAG5C,EAAAkrG,gBAAhB,SAAgCH,GAC5B,OAAIA,EAAYd,UACL,GAAGc,EAAY7Q,QAAQl6F,QAAQ+qG,EAAYd,YAG/Cc,EAAY7Q,QAAQl6F,MA9HnC,CAAiB+4F,QAAW,KCtzD5B,IAAIoS,GAAe,EAQZ,MAAM,GAkBTvrG,YAAYi9D,EAAQ,GAChBlpE,KAAK4c,GAzBF46F,KA0BHx3G,KAAKy3G,OAASvuC,EAGlB,sBAAsBA,EAAoBlqE,GACtC,MAAM04G,EAAY,IAAI,GAAOxuC,GAE7B,OADAwuC,EAAUC,iBAAmB34G,EACtB04G,EAGXE,qBACI,SAAwB,EAAd53G,KAAKy3G,QAGnBI,wBACI73G,KAAKy3G,QAAU,EAGnB5J,qBACI,SAAwB,EAAd7tG,KAAKy3G,QAGnBK,+BACI93G,KAAKy3G,QAAU,GAGnBM,4BACI,SAAwB,GAAd/3G,KAAKy3G,QAGnBO,mBACIh4G,KAAKy3G,QAAU,EAGnBQ,gBACI,SAAwB,EAAdj4G,KAAKy3G,QAGnBS,sBACIl4G,KAAKy3G,QAAU,EAGnBU,mBACI,SAAwB,EAAdn4G,KAAKy3G,QAGnBW,gBACIp4G,KAAKy3G,QAAU,IAGnBY,aACI,SAAwB,IAAdr4G,KAAKy3G,QAGnBa,eACIt4G,KAAKy3G,QAAU,KAGnBc,YACI,SAAwB,KAAdv4G,KAAKy3G,QAGnBe,mBACIx4G,KAAKy3G,QAAU,IAGnBgB,gBACI,SAAwB,IAAdz4G,KAAKy3G,QAGnBiB,qBACI14G,KAAKy3G,QAAU,GAGnBkB,kBACI,SAAwB,GAAd34G,KAAKy3G,QAGnBmB,0BACI54G,KAAKy3G,QAAU,IAGnBoB,yBACI,SAAwB,IAAd74G,KAAKy3G,QAGnBqB,eAAe9wC,GACX,GAAIhoE,KAAK+4G,cAAe,CAIpB,MAAMC,EAAYh5G,KAAK+4G,cAAcxpB,WAAWrnB,GAASmzB,GAAoBnzB,EAAMF,KACnF,GAAIgxC,EAAY,EACZh5G,KAAK+4G,cAAc19G,KAAK2sE,GAIxBhoE,KAAK+4G,cAAczzF,SAAS4iD,IACN,IAAdA,EAAKlpE,MAAqCkpE,EAAK6zB,sBACxC7zB,EAAK6zB,qBAGjB,CAGH,MAAMkd,EAAUj5G,KAAK+4G,cAAcC,GAC/B/d,GAAsBjzB,IACtBhoE,KAAK+4G,cAAcC,GAAahxC,EACX,IAAjBixC,EAAQj6G,MAA0D,IAArBgpE,EAAYhpE,OACpDgpE,EAAYkxC,oBAAsBD,EAAQC,qBAC3ClxC,EAAYkxC,mBAAqBD,EAAQC,qBAGrB,IAArBlxC,EAAYhpE,MAIE,IAAjBi6G,EAAQj6G,OACJgpE,EAAY2zB,UACZsd,EAAQtd,SAAU,GAGlB3zB,EAAY6zB,sBACZod,EAAQpd,oBAAsB7zB,EAAY6zB,oBAC1Cod,EAAQld,cAAgB/zB,EAAY+zB,gBAGnCkd,EAAQC,oBAAsBlxC,EAAYkxC,qBAC3CD,EAAQC,mBAAqBlxC,EAAYkxC,2BAMzDl5G,KAAK+4G,cAAgB,CAAC/wC,GAI9BmxC,kBACI,QAAOn5G,KAAK+4G,eAAgB/4G,KAAK+4G,cAAc/9G,OAAS,EAG5Do+G,kBACI,OAAOp5G,KAAK+4G,cAAgB/4G,KAAK+4G,cAAgB,GAGrDM,uBAEI,QAAIr5G,KAAK23G,kBAIF33G,KAAKo5G,kBAAkB3qD,MAAMyZ,GAAS+yB,GAAsB/yB,KAGvEoxC,uBACI,OAAOt5G,KAAKo5G,kBAAkBvwD,QAAQqf,GAAS+yB,GAAsB/yB,KAGzEqxC,qBACI,OAAOv5G,KAAK23G,kBCtOb,SAAS6B,GAA8B7+B,GAC1C,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,GAAIG,EAAWz+G,OAAS,EACpB,OAAOy+G,EAAWA,EAAWz+G,OAAS,GAQvC,SAAS0+G,GAAsC/+B,GAClD,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,OAAIG,EAAWz+G,OAAS,GAEE,IADLy+G,EAAWA,EAAWz+G,OAAS,GACnCgE,KAQd,SAAS26G,GAAgBh/B,GAC5B,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAASwzB,GAA2BxzB,KCQvE,MAAM0xC,GAOT3tG,YAAY4tG,GAFJ,KAAAC,WAAY,EAGZp+G,MAAMuD,QAAQ46G,GACd75G,KAAK+5G,gBAAkBF,EAEvB75G,KAAK+5G,qBADqBj7G,IAAnB+6G,EACgB,CAACA,QAED/6G,EAG3BkB,KAAKg6G,YAAc,IAAIl8F,IACvB9d,KAAKi6G,cAAgB,IAAIn8F,IAG7Bk0F,QACI,MAAMkI,EAAgB,IAAIN,GAqB1B,OApBI55G,KAAK+5G,kBACLG,EAAcH,gBAAkB,IAAI/5G,KAAK+5G,kBAG7C/5G,KAAKg6G,YAAY10F,SAAShoB,IACtB48G,EAAcC,eAAe78G,EAAM88G,QAAS98G,EAAM+8G,YAAa/8G,EAAMg9G,UAAWh9G,EAAMi9G,kBAG1Fv6G,KAAKi6G,cAAc30F,SAAShoB,IACxB48G,EAAcM,aAAal9G,EAAMs1G,UAAWt1G,EAAM0B,SAGlDgB,KAAKy6G,qBACLz6G,KAAKy6G,oBAAoBn1F,SAAShoB,IAC9B48G,EAAcQ,mBAAmBp9G,EAAM88G,QAAS98G,EAAMq9G,UAI9DT,EAAcJ,UAAY95G,KAAK85G,UAExBI,EAIXU,cAAc5I,GACVhyG,KAAKg6G,YAAchI,EAAMgI,YACzBh6G,KAAKi6G,cAAgBjI,EAAMiI,cAC3Bj6G,KAAKy6G,oBAAsBzI,EAAMyI,oBACjCz6G,KAAK85G,UAAY9H,EAAM8H,UAI3Be,oBACI,OAAO76G,KAAK+5G,gBAGhBe,iBAAiBhR,GACb,YACgBhrG,IAAZgrG,QACyBhrG,IAAzBkB,KAAK+5G,iBACL/5G,KAAK+5G,gBAAgBtrD,MAAMjgD,GAAMA,IAAMs7F,GAAWt7F,IAAM21F,KAIhE4W,kBAAkBC,GACdh7G,KAAK+5G,gBAAkBiB,EAG3BC,iBAAiBnR,QACGhrG,IAAZgrG,GAA0B9pG,KAAK86G,iBAAiBhR,KAC3C9pG,KAAK+5G,kBACN/5G,KAAK+5G,gBAAkB,IAE3B/5G,KAAK+5G,gBAAgB1+G,KAAKyuG,IAIlCxjF,UACI,OAAiC,IAA1BtmB,KAAKg6G,YAAY16G,MAA0C,IAA5BU,KAAKi6G,cAAc36G,KAK7D47G,WACI,IAAIC,EAAQ,EAgBZ,OAbAn7G,KAAKg6G,YAAY10F,SAAShoB,IAEtB69G,GAAS,EAKT,MAAM/D,EAAcp3G,KAAKo7G,eAAe99G,EAAM88G,SAC9Ce,GAAS,EAAMn7G,KAAKq7G,2BAA2BjE,MAGnD+D,GAASn7G,KAAKi6G,cAAc36G,KAErB67G,EAGXG,WAAW90C,GACP,OAAOxmE,KAAKg6G,YAAY51F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG7C40C,eAAe50C,EAAwBg1C,GAAqB,GACxD,MAAM/hD,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAK/M,EAGL,OAAIA,EAAM4gD,YACC5gD,EAAM4gD,YAEZmB,OAAL,EACW/hD,EAAM6gD,UAKrBH,eAAe3zC,EAAwB6zC,EAA+BC,EAAkBC,GACpFzoD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GACzBxmE,KAAKg6G,YAAY70G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAW6zC,cAAaC,YAAWC,kBAG5EkB,mBAAmBj1C,G,QACf,OAA6D,QAAtD,EAAwB,QAAxB,EAAAxmE,KAAKy6G,2BAAmB,eAAEl2G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAEm0C,MAGnED,mBAAmBl0C,EAAwBm0C,GACvC7oD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GAGpBxmE,KAAKy6G,sBACNz6G,KAAKy6G,oBAAsB,IAAI38F,KAEnC9d,KAAKy6G,oBAAoBt1G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAWm0C,UAG5De,WAAWl1C,GACP,MAAMxkD,EAAMhiB,KAAKu7G,QAAQ/0C,GACzB,OAAOxmE,KAAKg6G,YAAYz1G,IAAIyd,GAGhC25F,cACI,MAAM/yF,EAA6B,GAMnC,OAJA5oB,KAAKg6G,YAAY10F,SAASm0C,IACtB7wC,EAAQvtB,KAAKo+D,MAGV7wC,EAGXgzF,aAAap1C,GACT,OAAOxmE,KAAKi6G,cAAc71F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG/Cq1C,aAAar1C,G,MACT,OAAsD,QAA/C,EAAAxmE,KAAKi6G,cAAc11G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAExnE,KAG5Dw7G,aAAah0C,EAAwBxnE,GACjC8yD,GAAQ9xD,KAAK85G,WACb95G,KAAKi6G,cAAc90G,IAAInF,KAAKu7G,QAAQ/0C,GAAY,CAAEosC,UAAWpsC,EAAWxnE,SAG5E88G,eACI,OAAO97G,KAAKg6G,YAAY16G,KAG5By8G,iBAAiBv1C,GACb,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAI/M,EACA,OAAOA,EAAM6gD,UAMrB0B,kBAAkBx1C,GACd,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,SAAS/M,aAAK,EAALA,EAAO8gD,eAGpBjuF,OAEIwlC,GAAQ9xD,KAAK85G,WACb95G,KAAK85G,WAAY,EAGrBmC,SAEIj8G,KAAK85G,WAAY,EAGrBoC,WACI,OAAOl8G,KAAK85G,UAGRyB,QAAQ/0C,GACZ,OAAO4+B,GAAYkS,iBAAiB9wC,GAOhC60C,2BAA2Br8G,EAAYyoG,EAAiB,GAC5D,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,MAAO,GAGX,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAAoB,CACrB,IAAI69C,EAAW,EAYf,OARIn9G,EAAK6mG,SAAS7qG,OAAS,IACvBohH,GAAiBp9G,GAAO8mG,IACpB,MAAMuW,EAAer8G,KAAKq7G,2BAA2BvV,EAAS2B,GAC9D0U,EAAWr5G,KAAK4C,IAAIy2G,EAAUE,MAK/B,IAAOF,EAAW,EAG7B,KAAK,EACD,OAAOn8G,KAAKs8G,4BAA4Bt9G,EAAMyoG,GAKtD,OAAO,EAGH6U,4BAA4BrO,EAAsBxG,GACtD,IAAI8U,EAAkB,EAClBjU,EAAe,EAoBnB,OAlBI2F,EAAUlG,mBACVkG,EAAUlG,mBAAmBziF,SAASk3F,IAClCD,GAAmBv8G,KAAKq7G,2BAA2BmB,EAAQx9G,KAAMyoG,GACjEa,OAEG2F,EAAU7F,cACjB6F,EAAU7F,cAAc9iF,SAAStmB,IAC7Bu9G,GAAmBv8G,KAAKq7G,2BAA2Br8G,EAAMyoG,GACzDa,OAEG2F,EAAU1H,QAAQ6G,gBACzBa,EAAU1H,QAAQ6G,eAAe9nF,SAAStmB,IACtCu9G,GAAmBv8G,KAAKq7G,2BAA2BpW,GAAQ9yF,SAAUs1F,GACrEa,OAKD,GAAiC,KADPA,EAAe,EAAIiU,EAAkBjU,EAAe,ICxI7F,IAAYmU,GClLAC,GDoNL,SAASC,GAAwB39G,GACpC,MAAMghB,EAA+B,CACjC48F,4BAA6B,EAC7BC,mBAAoB,EACpBC,uBAAwB,EACxB38F,OAAQ,GACR48F,4BAA4B,GAGhC,IAAIC,EAAoBh+G,EAAKunG,QAAQljE,WAAWksD,WAC3C/8E,GAAqB,IAAfA,EAAE8rD,WAA0C9rD,EAAEnG,OAKzD,GAAI2wG,EAAoB,EACpB,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAAK,CACrD,MAAMkY,EAAIxT,EAAKunG,QAAQljE,WAAW/oC,GAClC,GAAmB,IAAfkY,EAAE8rD,SACF,MAGJ,IAAK9rD,EAAEnG,KACH,MAGJ,GAAIm9D,GAAah3D,EAAEnG,QAAUmG,EAAEnG,KAAKmpD,WAAW,MAC3C,MAGJwnD,EAAoB1iH,EAAI,EAI5B0iH,GAAqB,IACrBh9F,EAAO48F,4BAA8BI,GAGzC,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0iH,IACZh+G,EAAKunG,QAAQljE,WAAW/oC,GAAGw4G,WADIx4G,IAKnC0lB,EAAO88F,yBACP98F,EAAO68F,qBAGX,IAAII,GAA0B,EAE9B,MAAMC,EAAsB,CAAC95F,EAA0B+G,EAAegzF,KAClE,GAAI/5F,EAAM/W,KAAM,CACZ,IAAIsV,EAEAA,EADmB,IAAnByB,EAAMk7C,SACGm+C,GAAgBW,aAClBH,EACER,GAAgBY,YAClBL,GAAqB,GAAK7yF,EAAQ6yF,EAChCP,GAAgBW,aAEhBX,GAAgBa,kBAG7Bt9F,EAAOG,OAAO9kB,KAAK,CACf+nB,QACA+G,QACAnrB,KAAMm+G,UAAgBtY,GAAamE,0BAA0BhqG,EAAMmrB,GACnExI,aAmGZ,OA9FA3iB,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KACb,IAAnB/G,EAAMk7C,SAEFl7C,EAAM/W,MAAQs6F,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAK+oG,mBACxD3kF,EAAMpkB,KAAK+oG,mBAAmBziF,SAAQ,CAACi4F,EAAUpzF,KAC7C,MAAMm0C,EACFgoC,GAAkBiX,EAASv+G,OAASu+G,EAASrV,YACvC,EACA,EAEO,IAAb5pC,IACAt+C,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,QAGjCsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,GAGxCG,EACI,CACI5+C,WACAjyD,KAAM,GAAG+W,EAAM/W,QAAQ8d,EAAM3qB,cAC7BR,KAAMu+G,EAASv+G,KACfg0G,iBAAiB,GAErB7oF,EACAozF,EAASv+G,UAIbokB,EAAM/W,WAA6BvN,IAArBkhB,EAAOw9F,YACrBx9F,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,OAE7BsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,KAQvCE,IAA4BD,EAAoB,GAAK7yF,GAAS6yF,KAC/Dh9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,OACzCooB,EAAM/W,MACN2T,EAAOy9F,wBAEXR,GAA0B,GAG9BC,EAAoB95F,EAAO+G,IAEL,IAAnB/G,EAAMk7C,UACb2+C,GAA0B,EAGtB9W,GAAgB/iF,EAAMpkB,OAAS2nG,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAKunG,QAAQmX,uBAC5C5+G,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDooB,EAAMpkB,KAAKunG,QAAQmX,iBAAiBp4F,SAAQ,CAACm0C,EAAOptD,KAChD6wG,EACI,CACI5+C,SAAU,EACVjyD,OACArN,KAAMy6D,EAAM1S,UACZisD,iBAAiB,EACjBF,YAAar5C,EAAMkkD,YAEvBxzF,EACAsvC,EAAM1S,eAGP3jC,EAAM/W,YACcvN,IAAvBkhB,EAAO49F,cACP59F,EAAO49F,YAAc59F,EAAOG,OAAOnlB,aAGF8D,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDkiH,EAAoB95F,EAAO+G,KAEL,IAAnB/G,EAAMk7C,WACTl7C,EAAM/W,OAAS4wG,GACfj9F,EAAO68F,qBAGXK,EAAoB95F,EAAO+G,OAI5BnK,EAGJ,SAAS69F,GAAe7+G,GAC3B,QAAI4mG,GAAQ5mG,SAC2DF,IAA5D6qG,GAAY3qG,GAAO8mG,GAAYR,GAAeQ,KAQtD,SAASgY,GAAY9+G,EAAY2U,GACpC,GAAIiyF,GAAQ5mG,GAAO,CACf,MAAM++G,EAAsB,GAC5B,IAAIC,GAAc,EAgBlB,GAdAh/G,EAAK6mG,SAASvgF,SAASwgF,IACnB,MAAMmY,EAAkBtqG,EAASmyF,GAC7BmY,EACIA,IAAoBnY,GACpBiY,EAAY1iH,KAAK6iH,GAAmBD,EAAiBE,GAAiBn/G,KACtEg/G,GAAc,GAEdD,EAAY1iH,KAAKyqG,GAGrBkY,GAAc,MAIjBA,EACD,OAAOh/G,EAGX,MAAM+rG,EAAUC,GAAa+S,GAM7B,OAHyB,IAArBhT,EAAQzsC,UACR6mC,GAAU8F,mBAAmBF,EAAS/rG,GAEnC+rG,EAIX,OAD2Bp3F,EAAS3U,IAEzBgmG,GAAUsG,cAKlB,SAAS8Q,GAAiBp9G,EAAY2U,GACrCiyF,GAAQ5mG,GACRA,EAAK6mG,SAASvgF,SAAQ,CAACwgF,EAAS37E,KAC5BxW,EAASmyF,EAAS37E,MAGtBxW,EAAS3U,EAAM,GAKhB,SAASo/G,GAAazD,EAAepT,GACxC,GAAIoT,EAAM3/G,OAAS,EACf,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAIqgH,EAAM3/G,OAAQV,IAC9B,IAAK8sG,GAAWuT,EAAM,GAAIA,EAAMrgH,GAAIitG,GAChC,OAAO,EAIf,OAAO,EAoEJ,SAAS8W,GAAkBr/G,GAC9B,OAAIinG,GAAQjnG,SACkBF,IAAtBE,EAAK0sG,eACL1sG,EAAO4lG,GAAUyH,iBAAiBrtG,OAAMF,IAGrCE,GAGP4mG,GAAQ5mG,GACD8+G,GAAY9+G,GAAO8mG,GACfuY,GAAkBvY,KAI1B9mG,EAGJ,SAASk/G,GAAmBl/G,EAAY6oG,GAC3C,IAAKA,EACD,OAAO7oG,EAGX,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,OAAOt/D,EAEX,KAAK,EACL,KAAK,EACD,OAAOwlG,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAO/C,GAAuB3yF,OAC1BnT,EAAKuqG,UAAUzlF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,MAGxD,KAAK,EACD,OAAOrD,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAOmD,GAAahsG,EAAK6mG,SAAS/hF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,OAIxE,SAASsW,GAAiBn/G,GAC7B,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACD,OAEJ,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOt/D,EAAK6oG,WAMjB,SAASyW,GAAuBt/G,GACnC,QAAKqnG,GAAUrnG,MAINA,EAAKunG,QAAQW,yBAA2BloG,EAAKunG,QAAQY,UA0B3D,SAASoX,GAAoCv/G,G,MAChD,GAAIA,GACIqnG,GAAUrnG,IAASA,EAAKunG,QAAQW,wBAA0BloG,EAAKunG,QAAQY,UAAW,CAClF,MAAMqX,EAAoBha,GAASvmG,WAAWe,GACxCy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UAEnB,OAAuB,QAAlB,EAAAnoG,EAAKioG,qBAAa,eAAEmB,gBAAkBppG,EAAKunG,QAAQwD,wBASjD2U,GAAoBF,EALRG,GACf3/G,EAAKunG,QAAQwD,wBACb/qG,EAAKioG,cAAcmB,cACnBwW,GAAkB5/G,KANXw/G,EAYnB,OAAOx/G,EAGJ,SAAS4/G,GAAkB5/G,GAC9B,OAAIinG,GAAQjnG,IAIR8nG,GAAW9nG,GAHJA,EAAKunG,QAAQyG,eAOpB3G,GAAUrnG,GACHA,EAAK8qG,aADhB,EASG,SAAS+U,GAAwB7/G,GACpC,IAAIivG,EAQJ,GANI/H,GAAoBlnG,GACpBivG,EAAYjvG,EACLmnG,GAAgBnnG,KACvBivG,EAAYrJ,GAAUmJ,oBAAoB/uG,KAGzCivG,EACD,OAKJ,MAAM6Q,EAAa7Q,EAAU1H,QAAQoI,IAAIpjC,MACpCwzC,GAAa7Y,GAAoB6Y,IAAa5N,GAAa4N,KAEhE,OAAKD,GAAe5Y,GAAoB4Y,GAIpCla,GAAU+C,mBAAmBsG,EAAW6Q,GACjC7Q,EAIJyQ,GAAoBI,EADRE,GAAoC/Q,SARvD,EAYG,SAASgR,GAAcjgH,GAC1B,OAAOwlG,GAASvmG,WAAWe,SAA+BF,IAAtBE,EAAK0sG,aAGtC,SAASwT,GAAqBlgH,GACjC,OAAImnG,GAAgBnnG,QACaF,IAAtBE,EAAK0sG,eAGZ9F,GAAQ5mG,KACA2qG,GAAY3qG,GAAO8mG,IAAaK,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,eAM7E,SAASyT,GAAoBngH,EAAYogH,GAAkB,EAAO3X,EAAiB,G,MACtF,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEItB,GAAgBnnG,IAASigH,GAAcjgH,GACvC,OAAO,EAGX,GAAIogH,GAAmBnZ,GAAQjnG,GAAO,CAClC,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,OAAOA,EAASz+C,MAAM+tD,GAAY2C,GAAoB3C,EAAS4C,EAAiB3X,KAIxF,GAAI7B,GAAQ5mG,GACR,OAAOA,EAAK6mG,SAASp3C,MAAMq3C,GAAYqZ,GAAoBrZ,EAASsZ,EAAiB3X,KAGzF,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GAAaF,GAAoBE,EAAUD,EAAiB3X,KAG5F,GAAIX,GAAW9nG,GAAO,CAClB,MAAMoqG,EAAavE,GAAagQ,yBAAyB71G,GACzD,GAAIoqG,GAAc+V,GAAoB/V,EAAYgW,EAAiB3X,GAC/D,OAAO,EAGX,IAAK,IAAIntG,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI6kH,GADcta,GAAamE,0BAA0BhqG,EAAM1E,GAC5B8kH,EAAiB3X,GAChD,OAAO,EAKnB,OAAO,EAOJ,SAAS6X,GAAwBtgH,GACpC,GAAImnG,GAAgBnnG,GAChB,YAA0BF,IAAtBE,EAAK0sG,cAA8B9G,GAAUqH,UAAUjtG,GAChDA,EAAKunG,QAAQl6F,UAExB,EAGJ,GAAIu5F,GAAQ5mG,GAAO,CACf,IAAI0wF,EACA6vB,GAAgB,EAWpB,OATAnD,GAAiBp9G,GAAO8mG,IACpB,MAAM0Z,EAAyBF,GAAwBxZ,GAClD0Z,EAEO9vB,IACRA,EAAY8vB,GAFZD,GAAgB,KAMjBA,OAAgBzgH,EAAY4wF,GAMpC,SAAS+vB,GAAqBzgH,GACjC,OAAI4mG,GAAQ5mG,GACDA,EAAK6mG,SAAS7qG,OAGlB,EAGJ,SAAS0kH,GAAe1gH,GAC3B,OAAOymG,GAAMzmG,IAASA,EAAKq2G,WAGxB,SAASsK,GAAW3gH,GACvB,OAAOmnG,GAAgBnnG,IAAS4lG,GAAU6L,gBAAgBzxG,GAGvD,SAASmyG,GAAanyG,GACzB,OAAO4lG,GAAUqH,UAAUjtG,EAAM,SAM9B,SAAS4gH,GAAsB5gH,GAClC,OAAOA,EAAK+oG,oBAAsB/oG,EAAK+oG,mBAAmBt5C,MAAMlC,GAAMA,EAAE27C,cAMrE,SAAS2X,GAAwB7gH,EAAY8gH,EAA6BC,GAG7E,GAAInb,GAAU+K,gBAAgBmQ,GAC1B,OAAO9gH,EAIX,MAAMghH,EAAahB,GAAoCc,OAAqChhH,GAM5F,OAJIihH,GACAE,GAA8BD,EAAYF,EAAkBC,GAGzDrB,GAAoB1/G,EAAMghH,GAG9B,SAASC,GACZD,EACAF,EACAC,GAEA,MAAMG,EAAyBC,GAA4BL,GAAmC,GAC9FE,EAAW7F,eAAe+F,EAAwBzB,GAAkBsB,IAKjE,SAASrB,GACZ1/G,EACAghH,EACAI,GAAoB,EACpB5E,GAAqB,EACrB6E,GAA4B,GAG5B,OAAIL,EAAW15F,WAAc85F,GAAsBC,EAI/B,IAAIC,GACpBN,EACAI,EACA5E,EACA6E,GAEe18G,MAAM3E,GATdA,EA2CR,SAASuhH,GAAmBtS,GAC/B,MAAMuS,EAAY,IAAI1iG,IAMtB,OAJI8mF,GAAU+L,gBAAgB1C,IAC1BwS,GAA4BxS,EAAWuS,GAGpCA,EAGX,SAASC,GAA4BxS,EAAsBuS,EAAqC/Y,EAAiB,GACzGA,EAAiBlD,KAIrB0J,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC/BtL,GAAQsL,IAAc3M,GAAU+L,gBAAgBY,IAChDkP,GAA4BlP,EAAWiP,EAAW/Y,EAAiB,MAI3EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACjCsuE,EAAOo9B,6BACRyI,EAAUr7G,IAAIkH,EAAM,CAChBsuE,SACAszB,YACAkK,iBAAkBx9B,EAAOw9B,mBACzBE,WAAY19B,EAAO09B,aACnBqI,eAAgB/lC,EAAO0+B,uBACvBsH,uBAAuB,QAMhC,SAASC,GACZ5S,EACA3mC,EACA6B,EAAQ,GAER,GAAIi9B,GAAgB6H,GAChB,OAAO6S,GAAkB7S,EAAY3mC,EAAY6B,GAQlD,SAAS23C,GACZ5S,EACA5mC,EACA6B,EAAQ,G,MAIR,OAAuB,QAAhB,EAFW43C,GAAuB7S,EAAW5mC,EAAY6B,GAE/CjhD,cAAM,eAAE3qB,MAWtB,SAAUwjH,GAAuB7S,EAAiB5mC,EAAoB6B,EAAQ,GACjF,MAAM63C,EAA2E,IAA9C,GAAR73C,GAC3B,IAAIy3C,GAAwB,EAE5B,GAAI1a,GAAQgI,GAAY,CACpB,IAAI+S,EAAa,EACL,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,GAAR93C,IACA83C,GAA0B,GAG9B,MAAMC,EAAWC,GAAiBjT,EAAW+S,GAE7C,IAAK,MAAOjC,EAAUoC,KAAwBF,EAAU,CACpD,IAAK/a,GAAoB6Y,GAAW,CAChC,IAAKgC,EAAmB,CAGpB,MAAMK,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,EAEV,SAGJ,IAAKlb,GAAoBib,GACrB,SAGJ,MAAME,EAAeF,EAAoB5a,QAAQiE,OAGjD,GAA+D,IAAlD,EAARthC,GAA6D,CAC9D,MAAMyR,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOw9B,mBAAoB,CACrC,MAAMnF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,MAAMoO,EAAkB,CACpBzmC,SACAw9B,kBAAkB,EAClBE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,GAMpC,MAAMhmC,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOs9B,gBAAiB,CAClC,MAAMjF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,IAAImF,GAAmB,EAOvB,GAAIvT,GAAUkL,YAAYqR,IAAwBvc,GAAU0L,iBAAiB6Q,GAAsB,CAC/F,MAAMjlB,EAAQvhB,EAAOy+B,kBACjBld,EAAMlhG,OAAS,GAAuB,IAAlBkhG,EAAM,GAAGl9F,OAC7Bm5G,GAAmB,GAI3B,MAAMiJ,EAAkB,CACpBzmC,SACAw9B,mBACAE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,SAIjC,GAAIhb,GAAesI,GAAY,CAGlC,MAAMmT,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,GAMP,SAAUF,GAAiBjT,EAAiB/kC,EAAQ,GACvD,GAAI+8B,GAAQgI,GAAY,CACpB,IAAIqT,EAAkE,IAA1C,EAARp4C,GAEpB,IAAK,MAAM61C,KAAY9Q,EAAU1H,QAAQoI,IAAK,CAC1C,GAAI2S,EAAc,CACdA,GAAe,EACf,SAKJ,MAAMH,EAAsBtB,GAAwBd,EAAU9Q,GAG9D,GAAY,EAAR/kC,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,UACzC,MAMZ,GAAY,EAARj4C,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,QACzC,MAOZ,QAFM,CAACpC,EAAUoC,GAEoC,IAAxC,EAARj4C,GACD,QAyCT,SAASq4C,GAA0BC,EAAsBC,GAC5D,IAAK,MAAMna,KAASma,EACXD,EAAMj2C,MAAM87B,GAAUD,GAAWqX,GAAkBpX,GAAQoX,GAAkBnX,OAC9Eka,EAAMnmH,KAAKisG,GAUhB,SAASoa,GAA6B1iH,EAAYyoG,EAAiB,G,QACtE,GAAIA,EAAiBlD,GACjB,MAAO,GAeX,GAbAkD,IAasB,QAAlB,EAAAzoG,EAAKioG,qBAAa,eAAEmB,cAAe,CACnC,MAAMuZ,EAA8B,GAMpC,OAJkB,QAAlB,EAAA3iH,EAAKioG,qBAAa,SAAEmB,cAAc9iF,SAASk3F,IACvC+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAG3Eka,EAGX,GAAItb,GAAUrnG,GAEV,OAAIA,EAAKunG,QAAQW,wBAKbL,GAAY7nG,IAASA,EAAK+3G,gBAJnB,GAQJ,CAACvS,GAASgB,eAAexmG,GAAQomG,GAAYwJ,gBAAgB5vG,GAAQA,GAGhF,GAAIinG,GAAQjnG,GACR,MApCyB,CAACivG,IAC1B,MAAM0T,EAA8B,GAOpC,OANI1T,EAAU7F,eACV6F,EAAU7F,cAAc9iF,SAASk3F,IAC7B+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAI/Eka,GA4BAC,CAAqB5iH,GAGhC,GAAI4mG,GAAQ5mG,GAAO,CACf,MAAM2iH,EAA8B,GAIpC,OAHAvF,GAAiBp9G,GAAO8mG,IACpByb,GAA0BI,EAAcD,GAA6B5b,EAAS2B,OAE3Eka,EAGX,GAAI7a,GAAW9nG,GAAO,CAClB,MAAM2iH,EAA8B,GAEpC,IAAK,IAAIrnH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChDinH,GACII,EACAD,GAA6B7c,GAAamE,0BAA0BhqG,EAAM1E,GAAImtG,IAIlFzoG,EAAKunG,QAAQqM,WACb2O,GAA0BI,EAAc,CAAC3iH,EAAKunG,QAAQqM,YAG1D,MAAMxJ,EAAavE,GAAagQ,yBAAyB71G,GAKzD,OAJIoqG,GACAmY,GAA0BI,EAAcD,GAA6BtY,EAAY3B,IAG9Eka,EAGX,MAAO,GAKJ,SAASE,GAAoB7iH,GAChC,MAAMghH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IAOpD,OANmB4lG,GAAUyM,kBAAkBryG,GAEpCsmB,SAASw8F,IAChB9B,EAAW7F,eAAe2H,EAAWpd,GAAYvyF,aAG9CusG,GAAoB1/G,EAAMghH,GAK9B,SAAS+B,GAA0BxV,EAAgBC,EAAewT,EAAwBvY,EAAiB,GAC9G,KAAIA,EAAiBlD,KAGrBkD,IAEIuY,EAAW9D,aAIf,OAAQ3P,EAASjuC,UACb,KAAK,EACD89C,GAAiB7P,GAAWzG,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,EACG8E,EAASnE,eACTmE,EAASnE,cAAc9iF,SAASk3F,IAC5BuF,GAA0BvF,EAAShQ,EAASwT,EAAYvY,MAG5D8E,EAASxE,oBACTwE,EAASxE,mBAAmBziF,SAASk3F,IACjCuF,GAA0BvF,EAAQx9G,KAAMwtG,EAASwT,EAAYvY,MAGrE,MAEJ,KAAK,EACG8E,EAASpD,kBACToD,EAASpD,iBAAiB2I,eAAexsF,SAAS08F,IAC9CD,GAA0BC,EAAWxV,EAASwT,EAAYvY,MAE1D8E,EAASpD,iBAAiBC,YAC1B2Y,GACIxV,EAASpD,iBAAiBC,WAC1BoD,EACAwT,EACAvY,KAIR8E,EAAShG,QAAQljE,WAAW/d,SAASlC,IACjC2+F,GAA0B3+F,EAAMpkB,KAAMwtG,EAASwT,EAAYvY,MAE3D8E,EAAShG,QAAQ2C,oBACjB6Y,GAA0BxV,EAAShG,QAAQ2C,mBAAoBsD,EAASwT,EAAYvY,IAG5F,MAEJ,KAAK,EACD8E,EAAShD,UAAUjkF,SAASwgF,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,GACIuY,EAAW1E,WAAW/O,IACvByT,EAAW7F,eAAe5N,EAAUC,IAU7C,SAASwS,GAAoC/Q,EAAsBgU,GAAe,GACrF,MAAM7U,EAAiBxI,GAAUyM,kBAAkBpD,GACnD,IAAI7F,EAAgB6F,EAAU7F,cAKzBA,GAAkB6Z,IACnB7Z,EAAgBgF,GAGpB,MAAM4S,EAAarB,GAAgBvR,EAAgBhF,EAAewW,GAAkB3Q,IAKpF,OAJIrJ,GAAUuM,aAAalD,IAAcA,EAAUlG,oBAAsBqF,EAAepyG,QAAU,GAC9FglH,EAAWtF,mBAAmBtN,EAAe,GAAIa,EAAUlG,oBAGxDiY,EAGJ,SAASrB,GACZvR,EACAF,EACAF,GAEA,MAAMgT,EAAa,IAAIpG,GAAW5M,GAiDlC,OAhDAI,EAAe9nF,SAAQ,CAACw8F,EAAW33F,KAC/B,IAAI+3F,EAEJ,GAAIhV,EACA,GAAIrG,GAAYib,IACZ,GAAI33F,EAAQ+iF,EAASlyG,OAEjB,GADAknH,EAAchV,EAAS/iF,GACnB28E,GAAWob,IAAgBrd,GAAaoO,iBAAiBiP,GAAc,CACvE,MAAMC,EAAqC,GACrCC,EAAsBF,EAC5BA,EAAY3b,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAOi/F,KAC3CF,EAAiB9mH,KAAK,CAClBijE,SAAUl7C,EAAMk7C,SAChBjyD,KAAM+W,EAAM/W,KACZymG,aAAc1vF,EAAM0vF,WACpBC,kBAAmB3vF,EAAM2vF,kBACzB/zG,KAAM6lG,GAAamE,0BAA0BoZ,EAAqBC,QAG1ErC,EAAWxF,aAAasH,EAAW,CAC/Bz+E,WAAY8+E,EACZnV,eAAgBkV,EAAY3b,QAAQyG,eACpC9jC,MAAOg5C,EAAY3b,QAAQr9B,MAC3Bm0B,UAAW6kB,EAAY3b,QAAQlJ,UAC/BuV,UAAWsP,EAAY3b,QAAQqM,iBAE5B/L,GAAYqb,IACnBlC,EAAWxF,aAAasH,EAAW,CAC/B54C,MAAO,EACP7lC,WAAY,GACZ2pE,oBAAgBluG,EAChBu+F,eAAWv+F,EACX8zG,UAAWsP,SAMnBA,EADA/3F,GAAS+iF,EAASlyG,OACJiqG,GAAQ9yF,SAER+6F,EAAS/iF,GAG3B61F,EAAW7F,eAAe2H,EAAWI,EAAaA,GAAiC,MAKxFlC,EAIJ,SAASsC,GAAuB9V,EAAoB+E,GAKvD,GAA0B,IAJP3M,GAAUyM,kBAAkBE,GAIhCv2G,OACX,OAAOu2G,EAGX,MACMgR,EAAkB7D,GAAoBnN,EADzByN,GAAoCxS,IAGvD,OADA16C,EAAOo0C,GAAoBqc,IACpBA,EAMJ,SAASC,GAA0BvU,EAAsBwU,EAA4BC,GACxF,GAAI9d,GAAU+C,mBAAmBsG,EAAWwU,GACxC,OAAO,EAGX,IAAK,MAAMlR,KAAatD,EAAU1H,QAAQgI,YACtC,GAAIrI,GAAoBqL,IACpB,GAAIiR,GAA0BjR,EAAWkR,EAAiBC,GACtD,OAAO,OAER,IAAKA,GAAiB/c,GAAe4L,GAExC,OAAO,EAIf,OAAO,EAGJ,SAAS4O,GAA4BlS,EAAsB0U,G,MAC9D,MAAMC,EAAWxd,GAAY2M,eAAe,oBACtCjI,EAAsC,QAA5B,EAAA8U,GAAkB3Q,UAAU,QAAI,GAChD2U,EAASrc,QAAQyD,eAAgB,EACjC4Y,EAASrc,QAAQ2Q,mBAAoB,EACrC0L,EAASpM,cAAgBpR,GAAYgR,kBAAkBwM,EAASrc,QAAQl6F,KAAMy9F,GAC9E8Y,EAAS9Y,QAAUA,EAEnB,MAAM3C,EAAYvC,GAAUkK,uBACxBb,EACArJ,GAAUyM,kBAAkBpD,IACC,GACL,GAK5B,OAFA2U,EAASrc,QAAQY,UAAYvC,GAAUgK,gBAAgBzH,GAEhDwb,EAAavd,GAAY2I,oBAAoB6U,GAAYA,EAK7D,SAASC,GAA+BrP,GAC3C,MAAMpK,EAAavE,GAAagQ,yBAAyBrB,GACzD,GAAIpK,EAAY,CACZ,MAAM0Z,EAAoBC,GAAqB3Z,GAE/C,GAAI0Z,EAEA,OAAOA,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,UAwC/E,SAAS6wG,GAA0BhkH,GACtC,QAAIwlG,GAASgB,eAAexmG,OAKxBmnG,GAAgBnnG,KAAS4lG,GAAUqH,UAAUjtG,EAAM,YAInD4mG,GAAQ5mG,IACDA,EAAK6mG,SAAS9+E,OAAO++E,GAAYkd,GAA0Bld,KAMnE,SAAS2Y,GAAkBz/G,GAC9B,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EAED,OAAIsmC,GAAUqH,UAAUnG,EAAS,SACxBA,EAAQsC,eAAiBtC,EAAQsC,cAAcptG,OAAS,EAClD0pG,GAAYvyF,SAEZ8wG,GAAsBnd,EAAQsC,cAAc,IAIpDxD,GAAUgK,gBAAgB9I,GAGrC,KAAK,EACD,OAAOf,GAASgN,iBAGpB,KAAK,EACD,GAAIvN,GAASgB,eAAeM,GACxB,OAAOjB,GAAa+J,gBAAgB9I,GAExC,MAGJ,KAAK,GACD,GAAItB,GAASgB,eAAeM,GACxB,OAAOV,GAAYwJ,gBAAgB9I,GAM/C,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASijG,GAAsBjkH,GAClC,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EACD,GAAIkmC,GAASvmG,WAAW6nG,GACpB,OAAOlB,GAAUmJ,oBAAoBjI,GAEzC,MAGJ,KAAK,EACD,OAAOf,GAASkQ,aAGpB,KAAK,EACD,GAAIzQ,GAASvmG,WAAW6nG,GACpB,OAAOjB,GAAakJ,oBAAoBjI,GAE5C,MAGJ,KAAK,GACD,GAAItB,GAASvmG,WAAW6nG,GACpB,OAAOV,GAAY2I,oBAAoBjI,GAMnD,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASkjG,GAAmBjV,EAAsBR,EAA0B0V,GAC/E,IAAK,IAAI7oH,EAAI,EAAGA,EAAI2zG,EAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CACnD,MAAMykH,EAAW9Q,EAAU1H,QAAQoI,IAAIr0G,GAEvC,GAAI4rG,GAAoB6Y,GAAW,CAE/B,MAAMqE,EAAmBxe,GAAU0L,iBAAiByO,GACpDA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,IAAIsuE,EAAOs9B,iBAAoBkL,GAAuBxoC,EAAOw9B,uBACpDiL,GAAqB1J,GAAsC/+B,IACvDA,EAAO49B,aAAa,CACrB,MAAM8K,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAclD,IAAKwoC,EAAqB,CACtB,MAAMG,EAAYrV,EAAU1H,QAAQmI,mBACpC,GAAI4U,GAAapd,GAAoBod,GACjC,IAAK,MAAMvE,KAAYuE,EAAU/c,QAAQoI,IAAK,CAC1C,IAAIzI,GAAoB6Y,GAapB,MAZAA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,MAAMg3G,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAgC3C,SAAS4oC,GAAgBvkH,GAC5B,IAAIwkH,GAAe,EAQnB,OANApH,GAAiBp9G,GAAO8mG,IAChBJ,GAAUI,KACV0d,GAAe,MAIhBA,EAIJ,SAASC,GAAgBzkH,EAAY0kH,GAAiC,EAAOjc,EAAiB,G,QACjG,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEI/B,GAAU1mG,GACV,OAAO,EAKX,IAAsB,QAAlB,EAAAA,EAAKioG,qBAAa,eAAEmB,gBAEhBppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GACnCiH,GAAgBjH,EAASkH,EAAgCjc,KAG7D,OAAO,EAKf,GAAI7B,GAAQ5mG,GACR,YAEIF,IADA6qG,GAAY3qG,GAAO8mG,GAAY2d,GAAgB3d,EAAS4d,EAAgCjc,KAMhG,GAAIxB,GAAQjnG,GAAO,CAKf,GAJIwlG,GAASvmG,WAAWe,KACpB0kH,GAAiC,IAGhCA,IAAmC9e,GAAUkD,qBAAqB9oG,GAAO,CAC1E,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,IAAK,MAAMyW,KAAWzW,EAClB,GAAIuW,GAAgBE,EAASD,EAAgCjc,GACzD,OAAO,EAMvB,OAAO,EAIX,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GACjBoE,GAAgBpE,GAAU,EAAO5X,KAIhD,GAAIX,GAAW9nG,GAAO,CAClB,IAAK,IAAI1E,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI0E,EAAKunG,QAAQljE,WAAW/oC,GAAG+R,MAEvBo3G,GADc5e,GAAamE,0BAA0BhqG,EAAM1E,IACK,EAAOmtG,GACvE,OAAO,EAKnB,SACIzoG,EAAKunG,QAAQ2C,oBACZrE,GAAaoO,iBAAiBj0G,KAC/BykH,GAAgBzkH,EAAKunG,QAAQ2C,oBAAyD,EAAOzB,IAQrG,OAAO,EAMJ,SAASmc,GAAoB3V,GAChC,OAAKA,EAAU7F,eAAoD,IAAnC6F,EAAU7F,cAAcptG,QAAiB4qG,GAAQqI,EAAU7F,cAAc,IAIlG4C,GACHiD,EAAU7F,cAAc,GAAGvC,SAAS/hF,KAAKgiF,GAC9BlB,GAAUkK,uBAAuBb,EAAW,CAACnI,IAAuC,MALxFmI,EAYR,SAAS4V,GAAuB7kH,EAAY8kH,GAC/C,IAAKA,IAAc5d,GAAoB4d,IAAclE,GAAsBkE,GACvE,OAGJ,IAAIC,EACAC,GAAU,EAqCd,OAnCA5H,GAAiBp9G,GAAO8mG,IACpB,GAAIK,GAAgBL,GAAU,CAC1B,IAAIgZ,EACA7Y,GAAQH,IAAYqL,GAAarL,KAAa8Z,GAAsB9Z,KACpEgZ,EAAahZ,GAGZgZ,IAGDA,EAAahZ,EAAQS,QAAQoI,IAAIpjC,MAC5BwzC,GAAa9Y,GAAQ8Y,IAAa5N,GAAa4N,KAAca,GAAsBb,MAIxFD,GAAc7Y,GAAQ6Y,IAAeA,EAAW/W,mBAC5Cgc,EACIA,EAAa/oH,SAAW8jH,EAAW/W,mBAAmB/sG,OACtD8jH,EAAW/W,mBAAmBziF,SAAQ,CAACm0C,EAAOtvC,KAC1C45F,EAAc55F,GAAO9uB,KAAKo+D,EAAMz6D,SAGpCglH,GAAU,EAGdD,EAAejF,EAAW/W,mBAAmBjkF,KAAK21C,GAAU,CAACA,EAAMz6D,QAGvEglH,GAAU,OAGdA,GAAU,KAIbA,GAAYD,EAIVtF,GACHwF,GACIH,EACAC,EAAajgG,KAAK21C,IACP,CAAEz6D,KAAMgsG,GAAavxC,GAAQyuC,aAAa,aAR7D,EAkBG,SAAS+b,GACZhW,EACAf,EACA6B,GAAyB,EACzBmV,GAAgB,EAChBC,GAAkB,GAElB,IAAIC,EAAoBpZ,GAAakC,EAASppF,KAAKyoC,GAAMA,EAAEvtD,QAEvDklH,IACAE,EAAoB/F,GAAkB+F,IAItC/e,GAAQ+e,KACRA,EAAoBnf,GAAQ9yF,UAGhC,MAAMkyG,EAAkBzf,GAAUkK,uBAC9Bb,EACA,CAACmW,GACDrV,OACwBjwG,EACxBouG,GAOJ,OAJIiX,IACAE,EAAgBzd,YAAa,GAG1Byd,EAMJ,SAASC,GAAsCtlH,GAClD,GAAI8nG,GAAW9nG,GACX,OAAOulH,GAAqCvlH,GAGhD,MAAMwlH,EAA+B,GACrC,IAAIC,GAAgB,EAEpB,IAAK,MAAMpF,KAAYrgH,EAAKuqG,UAAW,CACnC,MAAMmb,EAAcH,GAAqClF,GACzDmF,EAAanpH,KAAKqpH,GACdA,IAAgBrF,IAChBoF,GAAgB,GAIxB,OAAOA,EAAgB3f,GAAuB3yF,OAAOqyG,GAAgBxlH,EAGlE,SAASulH,GAAqCvlH,GACjD,MAAM2lH,EAAa3lH,EAAKunG,QAAQljE,WAAWroC,OAC3C,GAAI2pH,EAAa,EACb,OAAO3lH,EAGX,MAAM4lH,EAAY5lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GACjDE,EAAc7lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GAEzD,OAC2B,IAAvBC,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACXuoC,GAAY+d,EAAU5lH,OACtB6nG,GAAYge,EAAY7lH,OACxBooG,GAAWwd,EAAU5lH,KAAM6lH,EAAY7lH,MAKrC6lG,GAAayO,8BAA8Bt0G,EAAM4lH,EAAU5lH,MAHvDA,EAMf,SAAS8lH,GAA6B9lH,GAClC,OAAImnG,GAAgBnnG,IAASmyG,GAAanyG,IAASA,EAAK+oG,oBAAsB/oG,EAAK4nG,WACxEoE,GAAahsG,EAAK+oG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,QAGtDA,EAKJ,SAAS+jH,GAAqB3Z,G,MACjC,GAAIjD,GAAgBiD,GAAa,CAC7B,GAAIxE,GAAUqH,UAAU7C,EAAY,CAAC,YAAa,mBAC9C,OAAOA,EAAWhB,cACf,GAAIxD,GAAUqH,UAAU7C,EAAY,sBAGvC,OAA+B,QAAxB,EAAAA,EAAWhB,qBAAa,eAAExqG,MAAM,IAuC5C,SAASmnH,GACZ/lH,EACAuoG,GAAsB,EACtByd,GAAa,EACbvd,EAAiB,G,MAEjB,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACD,QAAIsmC,GAAUkD,qBAAqB9oG,KAASuoG,KAIxCvoG,EAAKopG,mBAIKtpG,IAFNE,EAAKopG,cAAc78B,MAAMixC,GACrBuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAKtE7C,GAAUyM,kBAAkBryG,GAAMhE,OAAS,GAGtD,KAAK,EAAuB,CACxB,GAAIgE,EAAKunG,QAAQqM,UACb,OAAO,EAGX,IAAK,IAAIt4G,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChD,GACIyqH,GACIlgB,GAAamE,0BAA0BhqG,EAAM1E,GAC7CitG,EACAyd,EACAvd,GAGJ,OAAO,EAIf,MAAMyB,EACFlqG,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WACzCpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,mBACvB,GAAIA,GACA,GAAI6b,GAAuB7b,EAAoB3B,EAAqByd,EAAYvd,GAC5E,OAAO,OAER,GAAIzoG,EAAKqqG,oBACR0b,GAAuB/lH,EAAKqqG,mBAAoB9B,EAAqByd,EAAYvd,GACjF,OAAO,EAIf,OAAO,EAGX,KAAK,EACD,YAGU3oG,IAFNE,EAAKuqG,UAAUh+B,MAAM8zC,GACjB0F,GAAuB1F,EAAU9X,EAAqByd,EAAYvd,KAK9E,KAAK,EACD,YAGU3oG,IAFN6qG,GAAY3qG,GAAO8mG,GACfif,GAAuBjf,EAASyB,EAAqByd,EAAYvd,KAK7E,KAAK,GAED,IAAKzoG,EAAKunG,QAAQW,uBACd,OAAIloG,EAAKunG,QAAQ2Q,oBAAqB8N,EAS1C,GAAsB,QAAlB,EAAAhmH,EAAKioG,qBAAa,eAAEmB,cACpB,OAAOppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GAC1CuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAMjF,OAAO,EAOJ,SAASwd,GAAwBhX,GACpC,IAAIiX,GAAa,EAEjB,MAAMC,EAAsBlX,EAAU1H,QAAQgI,YAAY1lD,QAAO,CAAC0oD,EAAWpnF,KACzE,GAAI+7E,GAAoBqL,IAGhB3M,GAAUqH,UAAUsF,EAAW,WAAY,CAG3C,GAAI3M,GAAU+L,gBAAgB1C,GAC1B,OAAO,EAMX,GACIA,EAAU1H,QAAQgI,YAAY9/C,MAAK,CAAC22D,EAAgBC,IAE5CA,EAAal7F,GACb+7E,GAAoBkf,IACpBA,EAAehd,eACfgd,EAAerW,yBAIvB,OAAO,EAKnB,OAAO,KAILuW,EAA8B,GAEpCH,EAAoB7/F,SAAQ,CAACisF,EAAWpnF,KACpC,GAAI+7E,GAAoBqL,GAAY,CAChC,MAAMyO,EAAahB,GAAoCzN,GAA8B,GACrF+T,EAAkBjqH,KACdk2G,EAAUhL,QAAQoI,IAAI7qF,KAAKi7F,GAChBL,GAAoBK,EAAUiB,WAI7CsF,EAAkBjqH,KAAK,CAACk2G,OAIhC+T,EAAkBjqH,KACd8pH,EAAoBrhG,KAAKytF,GAEdmN,GAAoBnN,EADRyN,GAAoC/Q,GAA8B,OAM7F,MAAM+R,EAAahB,GAAoC/Q,GAA8B,GACrFA,EAAU1H,QAAQoI,IAAItzG,KAAKqjH,GAAoBzQ,EAAW+R,IAK1D,MAAMuF,EAAW,CAACC,EAAwBC,IAC/BA,EAAWh3D,MAAMi3D,GAEhBA,EAAUn2B,WACLjyF,GAAU4oG,GAAoB5oG,IAAUsnG,GAAU+C,mBAAmBrqG,EAAOkoH,KAC7E,IAKVG,EAAc,CAACC,EAA0BH,KAC3C,IAAK,IAAInrH,EAAI,EAAGA,EAAImrH,EAAWzqH,OAAQV,IACnCmrH,EAAWnrH,GAAKmrH,EAAWnrH,GAAGuuD,QACzBvrD,IAAW4oG,GAAoB5oG,KAAWsnG,GAAU+C,mBAAmBrqG,EAAOsoH,MAK3F,OAAa,CACT,IACIC,EADAC,GAAiB,EAGrB,IAAK,IAAIxrH,EAAI,EAAGA,EAAIgrH,EAAkBtqH,OAAQV,IAAK,CAC/C,MAAMorH,EAAYJ,EAAkBhrH,GAEpC,GAAIorH,EAAU1qH,OAAS,EAAG,CAKtB,QAJqB8D,IAAjB+mH,IACAA,EAAeH,IAGdxf,GAAoBwf,EAAU,IAAK,CACpCI,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCA,EAAUnmG,QACV,MACG,IAAKgmG,EAASG,EAAU,GAAIJ,GAAoB,CACnDQ,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCC,EAAYD,EAAU,GAAIJ,GAC1B,QAMZ,IAAKO,EACD,MAMCC,IACDZ,GAAa,EAIRhf,GAAoB2f,EAAa,KAIlC5X,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCF,EAAYE,EAAa,GAAIP,KAJ7BrX,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCA,EAAatmG,UAQzB,OAAO2lG,EAMJ,SAASa,GAA2B/mH,GACvC,MAAMgnH,EAAuB,GAE7B,OADAC,GAA+BjnH,EAAMgnH,GAC9BA,EAGX,SAASC,GAA+BjnH,EAAYgnH,EAAsBve,EAAiB,GACvF,GAAIA,EAAiBlD,GACjB,OAEJkD,IAEA,MAAM34B,EAAe9D,IACbA,IAAeg7C,EAAWv3D,MAAMjuD,GAAMA,IAAMwqE,KAC5Cg7C,EAAW3qH,KAAK2vE,IAIxB,OAAQhsE,EAAKs/D,UACT,KAAK,EAKL,KAAK,EACDwQ,EAAY9vE,EAAKunG,QAAQv7B,YACzB,MAGJ,KAAK,EACDhsE,EAAKuqG,UAAUjkF,SAAS+5F,IACpB4G,GAA+B5G,EAAU2G,EAAYve,MAEzD,MAGJ,KAAK,EACD2U,GAAiBp9G,GAAO8mG,IACpBmgB,GAA+BngB,EAASkgB,EAAYve,MAExD,MAGJ,KAAK,EACD34B,EAAY9vE,EAAKgsE,aAMtB,SAASk7C,GAA4BC,GACxC,IAAIC,EAAgBD,EAAe9iF,WAAWroC,OAAS,EAEvD,GAAyC,IAArCmrH,EAAe9iF,WAAWroC,OAAc,CAGxC,MAAMqrH,EAAYF,EAAe9iF,WAAW,GACjB,IAAvBgjF,EAAU/nD,UAA0C+nD,EAAUh6G,OAC9D+5G,GAAgB,GAIxB,GAAIA,IAAkBD,EAAevT,UAAW,CAE5C,MAAMY,EAAe3O,GAAakN,eAAe,GAAI,GAAI,GAAI,OAgB7D,OAdAoU,EAAe9iF,WAAW/d,SAASm0C,IAC/BorC,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU7E,EAAM6E,SAChBjyD,KAAMotD,EAAMptD,KACZymG,WAAYr5C,EAAMq5C,WAClBC,kBAAmBt5C,EAAMs5C,kBACzBC,iBAAiB,EACjBh0G,KAAMy6D,EAAMz6D,UAIpBw0G,EAAajN,QAAQqM,UAAYuT,EAAevT,UAChDY,EAAajN,QAAQlJ,UAAY8oB,EAAe9oB,UAEzCmW,EAGX,OAAO2S,EAAevT,WAtmE1B,SAAY6J,GACR,mCACA,6CACA,iCAHJ,CAAYA,QAAe,KA2mE3B,MAAM6J,GAAN,cACY,KAAAC,wBAAyB,EAEjC5iH,MAAM3E,EAAYwnH,EAAe,IAAI11E,IAAe22D,EAAiB,G,MACjE,GAAIA,EAAiBlD,GACjB,OAAOvlG,EAKX,GAHAyoG,KAGKsd,GAAuB/lH,GACxB,OAAOA,EAGX,GAAI2mG,GAAe3mG,GACf,OAAOA,EAGX,GAAIsmG,GAAetmG,GACf,OAAOA,EAGX,GAAIqnG,GAAUrnG,GAAO,CAIjB,GAAIA,EAAKunG,QAAQW,uBAAwB,CACrC,KAAuB,QAAlB,EAAAloG,EAAKioG,qBAAa,eAAEmB,eACrB,OAAOppG,EAGX,IAAIynH,GAAiB,EACrB,MAAMvZ,EAAWluG,EAAKioG,cAAcmB,cAActkF,KAAK04F,IACnD,MAAMkK,EAAkB1mH,KAAK2D,MAAM64G,EAASgK,EAAc/e,GAI1D,OAHIif,IAAoBlK,IACpBiK,GAAiB,GAEdC,KAGX,OAAID,EACOjiB,GAASsI,kBACZ9tG,EACAA,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBF,GAIDluG,EAGX,IAAI0nH,EAAwB1nH,EAI5B,MAAM02G,EAActQ,GAAYkS,iBAAiBt4G,GAiBjD,OAhBKwnH,EAAapiG,IAAIsxF,KAClBgR,EAAkB1mH,KAAK2mH,iBAAiB3nH,GAEnCgB,KAAKumH,yBACNC,EAAa5gG,IAAI8vF,GACjBgR,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO8yF,IAKpBpP,GAAkBtnG,IAASA,EAAK03G,oBAChCgQ,EAAkB5B,GAA6B4B,KAIhDA,EAGX,GAAI9gB,GAAQ5mG,GAAO,CACf,MAAM4sG,EAAekS,GAAY9+G,GAAO8mG,IACpC,IAAImY,EAAkBj+G,KAAK2D,MAAMmiG,EAAS0gB,EAAc/e,GAIxD,GAAInB,GAAkBR,KAAaQ,GAAkB2X,GAAkB,CACnE,MAAM2I,EAA4B,GAClCxK,GAAiB6B,GAAkB4I,IAC/BD,EAAkBvrH,KAAKypH,GAA6B+B,OAGxD5I,EAAkBjT,GAAa4b,GAGnC,OAAO3I,KAGX,OAAIj+G,KAAK8mH,gBAAkBlhB,GAAQgG,GACxB5rG,KAAK8mH,eAAelb,GAGxBA,EAGX,GAAI3F,GAAQjnG,GACR,OAAOgB,KAAK+mH,8BAA8B/nH,EAAMwnH,EAAc/e,GAGlE,GAAIX,GAAW9nG,GACX,OAAOgB,KAAKgnH,iCAAiChoH,EAAMwnH,EAAc/e,GAGrE,GAAIV,GAAqB/nG,GAAO,CAC5B,IAAIynH,GAAiB,EAGrB,MAAMjC,EAA+B,GAUrC,OATAxlH,EAAKuqG,UAAUjkF,SAASm0C,IACpB,MAAMitD,EAAkB1mH,KAAKgnH,iCAAiCvtD,EAAO+sD,EAAc/e,GACnF+c,EAAanpH,KAAKqrH,GACdA,IAAoBjtD,IACpBgtD,GAAiB,MAKlBA,EAAiB3hB,GAAuB3yF,OAAOqyG,GAAgBxlH,EAG1E,OAAOA,EAGX2nH,iBAAiBvM,GACb,OAAOA,EAGX6M,yBAAyBrU,IAIzBsU,mBAAmBtU,IAInBkU,eAAe9nH,GACX,OAAOA,EAGH+nH,8BACJ9Y,EACAuY,EACA/e,GAGA,GAAsD,IAAlD7C,GAAUyM,kBAAkBpD,GAAWjzG,SAAiB4pG,GAAUgL,iBAAiB3B,GACnF,OAAOA,EAGX,IACIkZ,EADAC,EAAsB,GAEtBC,GAAuB,EAC3B,MAAMpa,EAAarI,GAAUyM,kBAAkBpD,GAEzCiZ,EAAsBtU,IACxB,MAAMD,EAAiB3yG,KAAKknH,mBAAmBtU,GAC/C,OAAID,GACA0U,GAAuB,EAChBnB,GAA4BvT,IAE5BC,GAIT0U,EAAyBtnH,KAAKumH,uBAwFpC,OAvFAvmH,KAAKumH,wBAAyB,EAG1BtY,EAAU7F,cACVgf,EAAcnZ,EAAU7F,cAActkF,KAAKyjG,IACvC,GAAIlhB,GAAUkhB,IAAmBA,EAAehhB,QAAQM,YACpD,OAAOqgB,EAAmBK,GAG9B,IAAIC,EAAiBxnH,KAAK2D,MAAM4jH,EAAgBf,EAAc/e,GAc9D,OAbI+f,IAAmBD,IACnBF,GAAuB,EAKnBhhB,GAAUkhB,IACVjhB,GAAkBihB,IAClBA,EAAe7Q,oBAEf8Q,EAAiB1C,GAA6B0C,KAG/CA,KAGXva,EAAW3nF,SAASw8F,IAChB,IAAI4E,EAAwB5E,EAE5B,GAAIA,EAAUvb,QAAQM,YAClB6f,EAAkBQ,EAAmBpF,GACjC4E,IAAoB5E,IACpBuF,GAAuB,OAExB,CACH,MAAMI,EAAgBriB,GAAYkS,iBAAiBwK,GAC9C0E,EAAapiG,IAAIqjG,KAClBf,EAAkB1mH,KAAK2mH,iBAAiB7E,GAEpC4E,IAAoB5E,IACf9hH,KAAKumH,yBACNC,EAAa5gG,IAAI6hG,GACjBf,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO6kG,IAGxBJ,GAAuB,IAKnCD,EAAY/rH,KAAKqrH,MAIrB9hB,GAAUuM,aAAalD,KACnBA,EAAUlG,oBACVof,EAAsB,GACtBlZ,EAAUlG,mBAAmBziF,SAASiiG,IAClC,MAAMC,EAAiBxnH,KAAK2D,MAAM4jH,EAAevoH,KAAMwnH,EAAc/e,GAEjE+f,IAAmBD,EAAevoH,OAClCqoH,GAAuB,GAIvB/gB,GAAkBihB,EAAevoH,OACjCmnG,GAAgBqhB,IAChBrW,GAAaqW,IACbA,EAAezf,mBAEfof,EAAqB9rH,QAAQmsH,EAAezf,oBAE5Cof,EAAqB9rH,KAAK,CAAE2D,KAAMwoH,EAAgBtf,YAAaqf,EAAerf,kBAG/E+E,EAAWjyG,OAAS,IAC3BmsH,EAAsBnnH,KAAKinH,yBAAyBha,EAAW,IAC3Dka,IACAE,GAAuB,KAKnCrnH,KAAKumH,uBAAyBe,EAGzBD,EAIEziB,GAAUkK,uBACbb,EACAmZ,GAC6B,OACLtoH,EACxBqoH,GAROlZ,EAYP+Y,iCACJU,EACAlB,EACA/e,GAEA,IAAI+L,EAAekU,EAGnB,GAAIlU,EAAajN,QAAQqM,UAAW,CAChC,MAAMA,EAAY5yG,KAAKknH,mBAAmB1T,EAAajN,QAAQqM,WAC3DA,IACAY,EAAe3O,GAAa6N,kBAAkBc,EAAcZ,IAIpE,MAAM1J,EAAqBrE,GAAagQ,yBAAyBrB,GAC3DmU,EAAwBze,EACxBlpG,KAAK2D,MAAMulG,EAAoBsd,EAAc/e,QAC7C3oG,EACN,IAAI8oH,EAA8B1e,IAAuBye,EAEzD,MAAME,EAAkD,CACpD/V,eAAgB,GAChB1I,WAAYue,GAMhB,GAAInU,EAAajN,QAAQljE,WAAWroC,QAAU,EAAG,CAC7C,MAAM4pH,EAAYpR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACrF6pH,EAAcrR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACvF8sH,EAAgBjjB,GAAamE,0BAC/BwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAEvC+sH,EAAkBljB,GAAamE,0BACjCwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAG7C,GAC2B,IAAvB4pH,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACZuoC,GAAYihB,IACZjhB,GAAYkhB,IACZ3gB,GAAW0gB,EAAeC,GAC5B,CACE,MAAMC,EAAgBhoH,KAAKknH,mBAAmBY,GAC1CE,IACAxU,EAAe3O,GAAauO,6BAA6BI,EAAcwU,KAKnF,IAAIC,EACAC,EA2BAzV,EAzBJ,IAAK,IAAIn4G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM0nH,EAAYnd,GAAamE,0BAA0BwK,EAAcl5G,GACjEioH,EAAkBviH,KAAK2D,MAAMq+G,EAAWwE,EAAc/e,GAC5DogB,EAAsB/V,eAAez2G,KAAKknH,QAEfzjH,IAAvBmpH,GACA3hB,GAAkB0b,IAC8B,IAAhDxO,EAAajN,QAAQljE,WAAW/oC,GAAGgkE,WAEnC2pD,EAAqB3tH,EAEjB6rG,GAAgBoc,IAAoBpR,GAAaoR,IAAoBA,EAAgB3b,aACrFshB,EAAwB3F,EAAgBxa,qBAI5Cia,IAAcO,IACdqF,GAA8B,GAItC,IAAKA,EACD,OAAOpU,EASX,GALIA,EAAanK,qBACboJ,EAAgCzyG,KAAK2D,MAAM6vG,EAAanK,mBAAoBmd,EAAc/e,KAIzFygB,EACD,OAAOrjB,GAAaiK,uBAChB0E,EACAqU,EACApV,GAKR,MAAM0V,EAAkBtjB,GAAakN,eAAe,GAAI,GAAI,GAAI,IAChE,IAAIqW,GAA6B,EAC7BC,GAA+B,EA0DnC,OAxDAR,EAAsB/V,eAAexsF,SAAQ,CAAC08F,EAAW73F,KACrD,GAAIA,IAAU89F,EAAoB,CAC9B,IAAIK,GAAoB,EAGxBJ,EAAuB5iG,SAASijG,IAC5B1jB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAUiqD,EAAargB,YAAc,EAA+B,EACpE77F,KAAM,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,SAC/C+3G,mBAAmB,EACnB/zG,KAAMupH,EAAavpH,KACnBg0G,iBAAiB,IAGjBuV,EAAargB,cACbogB,GAAoB,MAIxBA,EACAD,GAA+B,EAE/BD,GAA6B,MAE9B,CACH,MAAMhlG,EAAQ,IAAKowF,EAAajN,QAAQljE,WAAWlZ,IAE5B,IAAnB/G,EAAMk7C,UAA8Cl7C,EAAM/W,KAEhC,IAAnB+W,EAAMk7C,WACb8pD,GAA6B,GAF7BA,GAA6B,EAOV,IAAnBhlG,EAAMk7C,UAAyCl7C,EAAM/W,MAAQ+7G,IAC7DvjB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAU,EACVt/D,KAAM0lG,GAAYvyF,WAEtBi2G,GAA6B,GAGjChlG,EAAMpkB,KAAOgjH,EACT5+F,EAAM/W,MAAQ+W,EAAM2vF,oBACpB3vF,EAAM/W,KAAO,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,UAGnC,IAAnBooB,EAAMk7C,WAAyCl7C,EAAM/W,MAASg8G,GAC9DxjB,GAAa6O,aAAayU,EAAiB/kG,OAKvD+kG,EAAgB5hB,QAAQ2C,mBAAqB2e,EAAsBze,WAE5D+e,GAMf,MAAM7H,WAAuCgG,GACzCr6G,YACY+tG,EACAwO,GAAqB,EACrBC,GAAsB,EACtBC,GAA6B,GAErCx8G,QALQ,KAAA8tG,cACA,KAAAwO,qBACA,KAAAC,sBACA,KAAAC,6BAKH/B,iBAAiBvM,GAGtB,GAAIA,EAAQtQ,SAAW9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAAU,CACvE,IAAItmD,EAAcxjD,KAAKg6G,YAAYoB,eAAehB,EAASp6G,KAAKyoH,qBAKhE,IAAKjlE,GAAexjD,KAAKyoH,oBAAqB,CAC1C,MAAME,EAAW3oH,KAAKg6G,YAAYoB,eAAehB,GAC7CuO,GACIxJ,GAAoBwJ,GAAgC,KACpDnlE,EAAcmlE,GAK1B,GAAInlE,EAIA,OAHIghD,GAASgB,eAAe4U,KACxB52D,EAAcy/D,GAAsBz/D,IAEjCA,EAKX,GAAIxjD,KAAKwoH,mBACL,OAAO9jB,GAAYvyF,SAI3B,OAAOioG,EAGF0M,eAAe9nH,GAMpB,GAAIgB,KAAK0oH,2BAA4B,CACjC,MAAME,EAAe9K,GAAY9+G,GAAO8mG,IACpC,IACIO,GAAUP,SACUhnG,IAApBgnG,EAAQgE,UACR9pG,KAAKg6G,YAAYc,iBAAiBhV,EAAQgE,SAI9C,OAAOhE,KAGX,OAAOT,GAAQujB,GAAgB5pH,EAAO4pH,EAG1C,OAAO5pH,EAGFioH,yBAAyB7M,GAC9B,GAAKA,EAAQtQ,SAAY9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAInE,OAAO9pG,KAAKg6G,YAAYyB,mBAAmBrB,GAGtC8M,mBAAmBtU,GACxB,GAAKA,EAAU9I,SAAY9pG,KAAKg6G,YAAYc,iBAAiBlI,EAAU9I,SAIvE,OAAO9pG,KAAKg6G,YAAY6B,aAAajJ,IAI7C,MAAMiW,WAA2CvC,GAM7Cr6G,YAAoB+tG,EAAiC8O,GACjD58G,QADgB,KAAA8tG,cAAiC,KAAA8O,qBAHrD,KAAAC,aAAe,2BACf,KAAAC,mBAAqB,mBAKjBhpH,KAAKg6G,YAAYiB,iBAAiBj7G,KAAK+oH,cAGnCE,eAAe7O,GACnB,OAAOp6G,KAAK8oH,mBAAmBr6D,MAAMq7C,GAAYsQ,EAAQtQ,UAAYA,IAGjEof,oBAAoBC,GAExB,GAAIA,EAAY5iB,QAAQyD,eAAiBmf,EAAY5iB,QAAQl6F,KAAKmpD,WAAWx1D,KAAKgpH,oBAC9E,OAAOG,EAGX,MAAMlrH,EAAaumG,GAASvmG,WAAWkrH,GACvC,IAAIC,EAAahkB,GAAY2M,eACzB,mBAAmB8W,GAAmCQ,0CAiB1D,OAfAD,EAAW7iB,QAAQyD,eAAgB,EACnCof,EAAWtf,QAAU9pG,KAAK+oH,aAC1BK,EAAW5S,cAAgBpR,GAAYgR,kBAAkBgT,EAAW7iB,QAAQl6F,KAAMrM,KAAK+oH,cAClF9qH,IACDmrH,EAAanG,GAAsBmG,IAIvCA,EAAW7iB,QAAQY,UAAYgiB,EAAY5iB,QAAQY,UACnDiiB,EAAW7iB,QAAQ8D,YAAc8e,EAAY5iB,QAAQ8D,YAGrD+e,EAAW7iB,QAAQ0D,SAAWkf,EAAY5iB,QAAQ0D,SAElD4e,GAAmCQ,yCAC5BD,EAGFzC,iBAAiBvM,GAGtB,OAAIp6G,KAAKipH,eAAe7O,GACbA,EAGJp6G,KAAKkpH,oBAAoB9O,IAlD7B,GAAAiP,uCAAyC,EE7wF7C,MAAMC,GACTr9G,YACYs9G,EACAC,EACAC,EACAC,EACAC,EACArzC,EACAszC,GANA,KAAAL,kBACA,KAAAC,WACA,KAAAC,aACA,KAAAC,cACA,KAAAC,qBACA,KAAArzC,eACA,KAAAszC,eAGZC,YAAYxzC,GAER,OADoBr2E,KAAK8pH,iCAAiCzzC,GACvCvyD,KAAKimG,IAAM,MAAC,OAAoB,QAApB,EAAAA,EAAGC,yBAAiB,eAAE9/C,aAAWrhB,OAAOuF,GAG3E67D,iBAAiBC,GACb,OAAItkC,GAAmBskC,GACZlqH,KAAKmqH,kCAAkCD,GACvCvkC,GAAsBukC,GACtBlqH,KAAKoqH,qCAAqCF,GAC1CpkC,GAAsBokC,GACtBlqH,KAAKqqH,0BAA0BH,GAC/BrkC,GAAuBqkC,GACvBlqH,KAAKsqH,2BAA2BJ,GdmL1B,IclL2BA,EdkLpClrH,KcjLGgB,KAAKuqH,qCAAqCL,GAG9C,GAGXM,sBAAsBN,GAClB,OAAOlqH,KAAKmqH,kCAAkCD,GACzCrhE,QAAQt6C,GAAMq3E,GAAmBr3E,KACjCuV,KAAKvV,GAAMA,IAGpBk8G,4BAA4BC,EAAwB1rH,GAChD,MAAMghB,EAAiD,GAEvD,OADAhgB,KAAK2qH,0BAA0BD,EAAgB1rH,EAAMghB,EAAQ,IAAI8wB,KAC1D9wB,EAAO6oC,QAAQnkC,GAAMkhE,GAAmBlhE,KAAIZ,KAAKY,GAAMA,IAGlEkmG,yBAAyBV,GACrB,OAAOlqH,KAAKoqH,qCAAqCF,GAC5CrhE,QAAQt6C,GAAMo3E,GAAsBp3E,KACpCuV,KAAKvV,GAAMA,IAGZg8G,qCACJL,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+C,KAA3Co5E,EAASxiD,KAAKZ,gBAAgBL,SAAiC,CAC/D,MAAMipB,EAAYw6B,EAASxiD,KAAKZ,gBAAgBxpE,MAGhD,OAFoB0C,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIjE,MAAO,GAGHV,kCAAkCD,EAA4BW,EAAqB,IAAI/5E,KAC3F,MAAM4+C,EAAY1vF,KAAKirH,kBAAkBf,EAASxiD,MAGlD,OAFoB1nE,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIzDT,qCACJF,EACAW,EAAqB,IAAI/5E,KAEzB,MAAMo6E,EAAehB,EAASxiD,KAAKr7D,KAAK/O,MAClC6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAEnE,GAAIm7G,EAASkB,SAAU,CACnB,MAAMr1B,EAAY,GAAiCm0B,EAASxiD,MAC5D,QAAkB5oE,IAAdi3F,EACA,MAAO,GAGX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GACzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKqrH,8BAA8BN,EAAYr7B,EAAWw7B,EAAcL,KAG5E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKsrH,gCAAgCP,EAAYG,EAAcL,KAKnER,0BACJH,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+B,KAA3Bo5E,EAASxiD,KAAKjB,SACd,MAAO,GAGX,MAAM8kD,EAAerB,EAASxiD,KAAKpqE,MAC7B6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAC7DgnF,EAAY,GAAiCm0B,EAASxiD,MAE5D,GAAIquB,EAAW,CACX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GAEzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKwrH,6BAA6BT,EAAYr7B,EAAW67B,EAAcV,KAG3E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKyrH,gCAAgCV,EAAYQ,EAAcV,KAKnEP,2BAA2BJ,GAC/B,MAAMlqG,EAAiC,GAEvC,IAAKkqG,EAASxiD,KAAKr7D,KACf,OAAO2T,EAGX,MAAM0rG,EAAe,GAAoCxB,EAASxiD,MAClE,IAAKgkD,EACD,OAAO1rG,EAGX,MAAM2rG,EAAoB3rH,KAAKypH,WAAWmC,2BAA2BF,EAAar/G,MAClF,IAAKs/G,EACD,OAAO3rG,EAGX,MAAM6qG,EAAqB,IAAI/5E,IAC/B,IAAK,MAAM+6E,KAAoBF,EAC3B,IAAK,MAAMG,KAAgB9rH,KAAKoqH,qCAC5ByB,EACAhB,GAEA7qG,EAAO3kB,QACA2E,KAAK+rH,0BAA0BD,EAAapkD,KAAMwiD,EAASxiD,KAAKr7D,KAAK/O,OACnEurD,QAAQt6C,GAAMs3E,GAAuBt3E,KACrCuV,KAAKvV,GAAMA,KAK5B,OAAOyR,EAGHgsG,8BACJjB,EACAr7B,EACAroB,EACA4kD,EACApB,GAEA,MAAM7qG,EAAc,GACdksG,EAAalsH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,GAE5E,IAAK,MAAMsB,KAAaD,EAAWrjE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,IAAwB,CACvG,MAAM69G,EAAepsH,KAAKypH,WAAW4C,eAAeF,EAAUzkD,MAC9D,IAAK0kD,EACD,SAGJ,MAAMh6D,EAASyuD,GAAkBuL,EAAane,UAAW5mC,GACzD,GAAIjV,EACA,IAAK,MAAM8V,KAAQ9V,EAAOuoB,OAAOy+B,kBAC7B6S,EAAU/jD,EAAM2iD,EAAoB7qG,GAKhD,OAAOA,EAGHwrG,6BACJT,EACAr7B,EACA67B,EACAV,GAEA,IAAI7qG,EAAgC,GAEpC,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAe67B,IAClE,OAAIV,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACA67B,GACA,CAACrjD,EAAMiP,EAAOn3D,KACV,GAAI8lE,GAAsB5d,GACtB,GAAIloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpD,IAAK,MAAM09G,KAAYzsH,KAAKqqH,0BAA0BniD,EAAMiP,GACpD2O,GAAsB2mC,IACtBzsG,EAAO3kB,KAAKoxH,QAIpBzsG,EAAO3kB,KAAK6sE,KAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IAzBftsG,EA6BPqrG,8BACJN,EACAr7B,EACAw7B,EACAL,GAEA,IAAI7qG,EAAiD,GAErD,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAew7B,IAClE,OAAIL,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACAw7B,GACA,CAAChjD,EAAMiP,EAAOn3D,KACN2lE,GAAsBzd,KAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAMiP,IAE/Dn3D,EAAO3kB,KAAK6sE,MAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IArBftsG,EAyBPyrG,gCACJV,EACAQ,EACAV,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBhB,IACnD,GAAIV,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYnB,GACzD,GAAqB,IAAjBrvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYnB,EAAcvrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAKpD,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHsrG,gCACJP,EACAG,EACAL,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBrB,IACnD,GAAIL,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYxB,GACzD,GAAqB,IAAjBhvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYxB,EAAclrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHgrG,6BACJD,EACA+B,EACAjC,G,MAEA,IAAIqB,EAAqD,GAGzD,MAAMa,EAAyC,QAA5B,EAAAhC,EAAWf,yBAAiB,eAAE9/C,UACjD,GAAI6iD,EAAY,CACZ,IAAIC,EAAiBF,EAAcv/G,MAAM,KACrCy/G,EAAehyH,OAAS,IACxBkxH,EAAalsH,KAAKitH,uBAAuBlC,EAAYiC,EAAe,GAAID,EAAYlC,GACpFmC,EAAiBA,EAAepvH,MAAM,IAG1C,IAAK,MAAMsvH,KAAiBF,EACxBd,EAAaA,EAAWpB,SAASqC,GAC7BntH,KAAKitH,uBAAuBlC,EAAYmC,EAAeC,EAAWzlD,KAAMmjD,KAKpF,OAAOqB,EAGHe,uBACJlC,EACAr7B,EACAq9B,EACAlC,GAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,iBAAiBQ,EAAWjxH,SAAS4zF,IACrE,GAAIm7B,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMpwB,EAAQl8F,KAAK+rH,0BAA0BgB,EAAYr9B,GACzD,GAAqB,IAAjBwM,EAAMlhG,QAAwC,KAAxB+xH,EAAWtmD,SACjCzmE,KAAK2sH,yCAAyCI,EAAYr9B,EAAW1vE,EAAQ6qG,QAE7E,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGH4sG,yBACJ1kD,EACAloD,EACA6qG,GAEA,GAAI/kC,GAAsB5d,GAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKqqH,0BAA0BniD,EAAM2iD,IAEpD7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IACItnC,GAAsBsnC,GACtBptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,IAC7CjlC,GAAmBwnC,IAAiBznC,GAAsBynC,KACjEptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,KAMnEgC,gCACJ3kD,EACAloD,EACA6qG,G,MAEA,GAAIjlC,GAAmB1d,GACfloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKmqH,kCAAkCjiD,EAAM2iD,IAE5D7qG,EAAO3kB,KAAK6sE,QAEb,GAAIyd,GAAsBzd,GACzBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAM2iD,IAE/D7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IAAiBrnC,GAAmBqnC,IACpCptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,QAE5D,GAAI/kC,GAAsB5d,GAAO,CAEpCloE,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAI5C,MAAMyC,EAA+B,QAAlB,EAAAplD,EAAK6zB,qBAAa,QAAI7zB,EAAKR,KACxC1oE,EAAOgB,KAAKypH,WAAW8D,QAAQD,GACrC,IAAKtuH,EACD,OAGJ,GAAI8nG,GAAW9nG,IAASA,EAAKunG,QAAQv+B,YACjChoE,KAAK6sH,gCAAgC7tH,EAAKunG,QAAQv+B,YAAahoD,EAAQ6qG,QACpE,GAAI9jB,GAAqB/nG,GAC5B,IAAK,MAAMwuH,KAAgBxuH,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GAC/EpuD,KAAK6sH,gCAAgCW,EAAcxtG,EAAQ6qG,QAExD3kB,GAAoBlnG,IAC3BgB,KAAK2qH,0BAA0BziD,EAAKn5D,KAAM/P,EAAMghB,EAAQ6qG,IAK5DF,0BACJ8C,EACAzuH,EACAghB,EACA6qG,GAEA,MAAMhvD,EAAW78D,EAAKunG,QAAQ1qC,SACxBsvD,EAAcnrH,KAAK0tH,gBAAgB7xD,GAEnCixD,EAAgB9tH,EAAKunG,QAAQwG,SAASvmE,UACxCxnC,EAAKunG,QAAQv7B,WAAWhwE,OAAS,GAGrC,IAAK,MAAM+vH,KAAcI,EACrBnrG,EAAO3kB,QAAQ2E,KAAKgrH,6BAA6BD,EAAY+B,EAAejC,IAI5E6C,gBAAgB7xD,GACpB,MAAMsvD,EAA4B,GAElC,GAAInrH,KAAKwsH,0CAA0C3wD,GAC/CsvD,EAAY9vH,QAAQ2E,KAAK8pH,iCAAiCjuD,QACvD,CACH,MAAMkvD,EAAa/qH,KAAK2pH,mBAAmB9tD,GACvCkvD,GACAI,EAAY9vH,KAAK0vH,GAIzB,OAAOI,EAGHwB,yCACJD,EACA55D,EACA9yC,EACA6qG,G,QAIA,MAAMj9G,EAA6C,QAArC,KAA0B8+G,UAAW,eAAEjf,YACrD,GAAK7/F,EAKL,IAAK,MAAM+sE,KAAU/sE,EAAM+a,SACvB,IAAK,MAAMu/C,KAAQyS,EAAOy+B,kBAAmB,CACzC,IACKrzB,GAAmB7d,KACnBA,EAAKn5D,MACiB,KAAvBm5D,EAAKR,KAAKjB,WACTyB,EAAKR,KAAKsE,iBAEX,SAGJ,MAAMsgD,EAAW,IAAIpkD,EAAKn5D,UAAU+jD,IACpC,GAAI+3D,EAAmBzmG,IAAIkoG,GACvB,SAWJzB,EAAmBjlG,IAAI0mG,GAEvB,MAAMnB,EAAcnrH,KAAK0tH,gBAAgBxlD,EAAKn5D,MAC9C,IAAK,MAAMg8G,KAAcI,EAAa,CAClC,MAAMuB,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EACD,SAGJ,MAAMxwB,EAAQl8F,KAAK+rH,0BAA0BW,EAAY55D,GACzD,GAAqB,IAAjBopC,EAAMlhG,OACNgF,KAAK2sH,yCACDD,EACA55D,EACA9yC,EACA6qG,QAGJ,IAAK,MAAM3iD,KAAQg0B,EAAO,CACtB,MAAMkxB,EAAeptH,KAAKypH,WAAW4D,wBACjCnlD,GACwB,GAEvBklD,IAIDznC,GAAsBynC,IAAiBxnC,GAAmBwnC,GAC1DptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,GACpD/kC,GAAsBsnC,IAC7BptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,OASxEkB,0BAA0BrkD,EAA6B5U,GAC3D,QAAah0D,IAAT4oE,EACA,MAAO,GAGX,MAAMimD,EAAkB,GAA0BjmD,GAC5CiT,EAASgzC,aAAe,EAAfA,EAAiBC,aAAa96D,GACvCopC,EAAQvhB,aAAM,EAANA,EAAQy+B,kBAEtB,OAAOld,UAAS,GAGZ+uB,kBAAkBvjD,GACtB,MAAMqlC,EAAqB,GAE3B,IAAIvkF,EAAiCk/C,EACrC,UAAmB5oE,IAAZ0pB,GACHukF,EAAS1xG,KAAKmtB,EAAQnc,KAAK/O,OAC3BkrB,EAAU,GAAiCA,GAG/C,OAAOukF,EAAS9W,UAAUz6F,KAAK,KAG3BsuH,iCAAiCzzC,GAErC,OADcr2E,KAAKupH,gBAAgBnzC,uBAAuBC,EAAcr2E,KAAKwpH,SAAUxpH,KAAKs2E,cAC/ExyD,KAAK+pG,GAAO7tH,KAAK0pH,YAAYrzC,EAAcw3C,KAAKhlE,OAAOuF,GAGhEo+D,0CAA0C3wD,GAC9C,OAAI77D,KAAK4pH,iBAIIh1C,GAAW/Y,IAMjB77D,KAAKupH,gBACPnzC,uBAAuBva,EAAU77D,KAAKwpH,SAAUxpH,KAAKs2E,cACrDvvD,OAAOuwB,GAAMA,IAAMukB,MAIzB,SAAS+Y,GAAW/Y,GACvB,MAA+E,SAAxE3E,GAAwB2E,EAAU,CAAC,SAA0B,GC9mBjE,SAASiyD,GAAuBhqC,GACnC,OAAQA,GACJ,IAAK,QACD,OAAO,EAEX,IAAK,UACD,OAAO,EAEX,IAAK,cACD,OAAO,EAEX,QACI,MAAM,IAAIloF,MAAM,GAAGkoF,sBA8BxB,MAAMzqD,GAKTptB,YAAqBqyD,EAAuC/xD,EAA0BE,GAAjE,KAAA6xD,WAAuC,KAAA/xD,UAA0B,KAAAE,QAF9E,KAAAshH,aAAwC,GAIhDC,UAAUC,QACgBnvH,IAAlBkB,KAAKkuH,SACLluH,KAAKkuH,SAAW,CAACD,GAEjBjuH,KAAKkuH,SAAS7yH,KAAK4yH,GAI3BE,aACI,OAAOnuH,KAAKkuH,SAGhBE,QAAQC,GACJruH,KAAKsuH,MAAQD,EAGjBE,UACI,OAAOvuH,KAAKsuH,MAGhBE,eAAejiH,EAAiBsvD,EAAkBpvD,GAC9CzM,KAAK+tH,aAAa1yH,KAAK,CAAEwgE,WAAUtvD,UAASE,UAGhDgiH,iBACI,OAAOzuH,KAAK+tH,cAMb,MAAMW,GAAb,cACY,KAAA7+E,UAAsB,GACtB,KAAA8+E,cAAsC,GAE9CC,WAAWriH,GACPvM,KAAK6vC,UAAUx0C,KAAKkR,GAIxBsiH,iBACI,MAAMC,EAAc,IAAIJ,GAExB,OADA1uH,KAAK+uH,YAAYD,GACVA,EAGXE,UAAUC,EA3GU,EA2GkBC,EA1Gd,GA2GpB,IAAI1nE,EAAQxnD,KAAKmvH,mBAAmBF,EAAUC,GAE1C1nE,EAAMxsD,OAASk0H,IACf1nE,EAAQA,EAAM5pD,MAAM,EAAGsxH,GACvB1nE,EAAMnsD,KAAK,UAGf,MAAM+7B,EAAOowB,EAAMhsD,KAAK,MACxB,OAAI47B,EAAKp8B,OAAS,EACP,KAAOo8B,EAGX,GAGX9Q,UACI,OAAmC,IAA5BtmB,KAAKovH,mBAGhBL,YAAYxpC,GACRvlF,KAAK2uH,cAActzH,KAAKkqF,GAG5B8pC,cACI,OAAOrvH,KAAK2uH,cAGhBW,cACI,OAAOtvH,KAAK6vC,UAGRu/E,iBAAiB3nB,EAAiB,GACtC,GAAIA,EA1Ic,GA2Id,OAAO,EAIX,IAAI8nB,EAAevvH,KAAK6vC,UAAU70C,OAElC,IAAK,MAAMw0H,KAAQxvH,KAAK2uH,cACpBY,GAAgBC,EAAKJ,iBAAiB3nB,EAAiB,GAG3D,OAAO8nB,EAGHJ,mBAAmBF,EAAkBC,EAAsBznB,EAAiB,GAChF,GAAIwnB,GAAY,GAAKxnB,EAzJH,GA0Jd,MAAO,GAGX,IAAIgoB,EAAuB,GAC3B,IAAK,MAAMlqC,KAAYvlF,KAAK2uH,cAAe,CACvC,MAAMe,EAAoB1vH,KAAK6vC,UAAU70C,OAAS,EAAIi0H,EAAW,EAAIA,EAIrE,GAHAQ,EAAWp0H,QAAQkqF,EAAS4pC,mBAAmBO,EAAmBR,EAAcznB,EAAiB,IAG7FgoB,EAAWz0H,QAAUk0H,EAAc,CACnCO,EAAaA,EAAW7xH,MAAM,EAAGsxH,GACjC,OAMR,MAAMS,EAAa3vH,KAAK6vC,UAAU70C,OAAS,EAAI,KAAO,GACtD,OAAOgF,KAAK6vC,UAAU7qC,OAAOyqH,GAAY3rG,KAAKoW,GAASy1F,EAAaz1F,MF/K5E,SAAYwiF,GACR,4CACA,0CACA,wDACA,sDACA,sDAEA,oDACA,0DACA,0DACA,8CACA,wDACA,kDACA,0CACA,0CACA,wCACA,8CACA,8CACA,gDACA,oEACA,oDACA,0DACA,0CACA,kDACA,8DACA,gDACA,sEACA,kEACA,4DACA,kDACA,oDACA,0CACA,sDACA,0DACA,sEACA,0EACA,gEACA,wDACA,kDACA,4EACA,wEACA,0DACA,wDACA,oDACA,wDACA,oDACA,0DACA,wDACA,oDACA,kEACA,4DACA,gDACA,4DACA,kDACA,0DACA,wEACA,oDACA,gDACA,0DACA,8CACA,0DACA,kDACA,gDACA,0EACA,sDAEA,4EAlEJ,CAAYA,QAAc,KGAnB,MAAMkT,GACT3jH,YAAoB4jH,GAAA,KAAAA,gBAEpBx+G,OAAO8O,GACH,IAAI/d,EAAMpC,KAAK6vH,cAIf,OAHA/yH,OAAOuoB,KAAKlF,GAAQmF,SAAStD,IACzB5f,EAAMA,EAAIuD,QAAQ,IAAIqc,KAAS7B,EAAe6B,GAAKxiB,eAEhD4C,EAGX0tH,kBACI,OAAO9vH,KAAK6vH,eAMpB,IAAIE,GAAmC,UAEhC,SAASC,KACZ,MAA2B,eAApBD,GAGJ,SAASE,GAAiBT,GAC7B,OAAOQ,KAAyB,GAAKR,EAAKR,YAM9C,IAAIkB,GACJ,MAAMC,GAAkC,oBAAQ,MAEhD,SAASC,GAAapuG,QACOljB,IAArBoxH,KACAA,GAAmB,IAGvB,MAAMG,EAAWruG,EAAIzU,MAAM,KAErBnL,EAAMkuH,GAAoBJ,GAAkBG,IAAaC,GAAoBH,GAAgBE,GACnG,GAAIjuH,EACA,OAAOA,EAGX8vD,EAAK,qCAAqClwC,MAG9C,SAASsuG,GAAoBxsG,EAAsBusG,GAC/C,IAAIE,EAAczsG,EAElB,IAAK,MAAM0sG,KAAWH,EAAU,CAC5B,IAAKE,EAAOC,GACR,OAGJD,EAASA,EAAOC,GAGpB,OAAOD,EAQJhkG,eAAekkG,IAAuB,OAAEC,EAAM,MAAEC,GAAkC,IACjFA,IACAZ,GAAkBY,GAEtB,MAAMC,EAAgBF,EAASA,EAAO5wH,cAM1C,WACI,IACI,GAAa,OAATowD,gBAAS,IAATA,eAAS,EAATA,UAAWp6B,SACX,OAAOo6B,UAAUp6B,SAASh2B,cAEhC,OAIF,MAAM+wH,EAAMC,QAAQD,IAGdE,EAAqBF,EAAIG,kBAC/B,GAAID,EACA,IACI,OAAO/hH,KAAK2C,MAAMo/G,GAAoBL,OACxC,OAMN,MAAMO,EAAeJ,EAAIK,QAAUL,EAAIM,aAAeN,EAAIO,MAAQP,EAAIQ,SACtE,GAAIJ,EAAc,CAEd,MAAMK,EAAoBL,EAAa1jH,MAAM,KAC7C,GAAI+jH,EAAkBt2H,OAAS,GAAKs2H,EAAkB,GAClD,OAAOA,EAAkB,GAKjC,MAlFkB,QA4CoCC,GACtDrB,SAwCJ3jG,eAAoCmkG,GAChC,IAAIc,QAAiBC,GAAwBf,GAC7C,QAAiB5xH,IAAb0yH,EACA,OAAOA,EAKX,MAAME,EAAchB,EAAOnjH,MAAM,KACjC,OAAImkH,EAAY12H,OAAS,GAAK02H,EAAY,KACtCF,QAAiBC,GAAwBC,EAAY,SACpC5yH,IAAb0yH,GACOA,EAIR,GAxDkBG,CAAqBf,GA2DlDrkG,eAAeklG,GAAwBf,GACnC,OAAQA,GAGJ,IAAK,KACD,aAAc,0FAAiE79G,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,KACD,aAAc,wFAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,KACD,aAAc,yFAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,MACD,aAAc,0FAAmEA,QACrF,QACI,aAAc,0FAAoEA,SAIvF,IAAU++G,GCgFV,SAASC,GACZC,EACApqD,EACAumC,GAEAn8C,EAAO8yC,GAAU0L,iBAAiBrC,IAGlC,MAAMlD,EAAUlG,GAAakN,eACzB,UACA,GACA,GACA,IAEJlN,GAAa6O,aAAa3I,EAAS,CAC/BzsC,SAAU,EACVjyD,KAAM,MACNrN,KAAMivG,EACN+E,iBAAiB,IAErBnO,GAAa0O,qBAAqBxI,GAClCA,EAAQxE,QAAQ2C,mBAAqBtE,GAAUgK,gBAAgBX,GAG/D,MAAM8jB,EAAWltB,GAAakN,eAAe,WAAY,GAAI,GAAI,IACjElN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,IAErB+e,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAG/ClN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVt/D,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,IAGrB,MAAMpqF,EAAUopG,GAA4BF,EAAW7jB,GACvDrlF,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpBw4F,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,OACAymG,YAAar5C,EAAMkkD,WACnB3+G,KAAMy6D,EAAM1S,UACZisD,iBAAiB,OAIzB,MAAMvF,EAAcQ,EAAU1H,QAAQiE,OACtCiD,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB4sH,IAC3EtkB,EAAYtoG,IAAI,UAAW,kBAAsB,EAAyB4lG,IAE1E,MAAMknB,EAAWH,EAAUI,eAAexqD,EAAM,OAGhD,GAAIw+B,GAAoB+rB,GAAW,CAC/B,MAAME,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,GAEfof,EAAwBr2G,IAC1B,IAAIs2G,EAAiBjtB,GAAY2M,eAAe,KAAKh2F,EAAKwqF,QAAQl6F,gBAQlE,OAPAgmH,EAAe9rB,QAAQyD,eAAgB,EACvCqoB,EAAiBjtB,GAAYiR,gBACzBgc,EACAt2G,EAAKwqF,QAAQyG,eACbiB,EAAU1H,QAAQl6F,KAAI,GAGnBgmH,GAGLC,EAAkB,CACpBC,EACAxrE,EACAyrE,EACAC,GAA0B,KAE1B,MAAMC,EAAc7tB,GAAakN,eAC7B,MACA,GACA,GACA,KAUJ,GARAlN,GAAa6O,aAAagf,EAAaP,GACvCO,EAAYnsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GACjEm9B,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,IAEjBwf,EAAgB,CAChB,MAAMH,EAAiBD,EAAqBM,GAC5C7tB,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,UACNrN,KAAMyzH,EAA0B1rE,EAAYsrE,EAC5Crf,iBAAiB,IAErB0f,EAAYnsB,QAAQ2C,mBAAqBupB,EACnC1rE,EACAikD,GAAa,CAACjkD,EAAWsrE,SAE/BK,EAAYnsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWg+C,GAASgN,mBAE/E,OAAO2gB,GAGLE,EAAmB,CAACL,EAAexrE,KACrC,MAAM8rE,EAA8B,CAChCv0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,GAGf8f,EAAejuB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaof,EAAcX,GACxCttB,GAAa6O,aAAaof,EAAcD,GACxCC,EAAavsB,QAAQ2C,mBAAqBniD,EAE1C,MAAMgsE,EAAeluB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaqf,EAAcZ,GACxCttB,GAAa6O,aAAaqf,EAAcF,GACxCE,EAAaxsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GAClE,MAAM2qD,EAAiBD,EAAqBW,GAS5C,OARAluB,GAAa6O,aAAaqf,EAAc,CACpCz0D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAMqzH,EACNvf,YAAY,IAEhBigB,EAAaxsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWsrE,IAC5D,CAACS,EAAcC,IAGpBC,EAAyB,CAACT,EAAexrE,KAC3C,MAAMksE,EAAqBpuB,GAAakN,eACpC,aACA,GACA,GACA,KAgBJ,OAdAlN,GAAa6O,aAAauf,EAAoBd,GAC9CttB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEV1tB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAM+nD,IAEVksE,EAAmB1sB,QAAQ2C,mBAAqBniD,EACzCksE,GAGLC,EAAuBX,IACzB,MAAMY,EAAkBtuB,GAAakN,eACjC,UACA,GACA,GACA,KAUJ,OARAlN,GAAa6O,aAAayf,EAAiBhB,GAC3CttB,GAAa6O,aAAayf,EAAiB,CACvC70D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEVY,EAAgB5sB,QAAQ2C,mBAAqBnE,GAASgN,iBAC/CohB,GAGLC,EAA+B,GAC/BC,EAA+B,GAC/BC,EAAsC,GAE5C1qG,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpB,MAAMknH,EAAkB3uB,GAAUgK,gBAAgBhK,GAAUyH,iBAAiB4lB,EAAU5lH,IAEvF+mH,EAAa/3H,KAAKi3H,EAAgBiB,EAAiB95D,EAAM1S,WAAgC,IACzFqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCssE,EAAah4H,QAAQu3H,EAAiBW,EAAiB95D,EAAM1S,YAC7DusE,EAAoBj4H,KAAK23H,EAAuBO,EAAiB95D,EAAM1S,eAK3E,MAAMysE,EAAU5uB,GAAUgK,gBAAgBqjB,GAC1CmB,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAClFihH,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAElFs7F,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOihH,KAE7EC,EAAar4H,OAAS,GACtByyG,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOkhH,KAGjFC,EAAoBt4H,OAAS,GAC7ByyG,EAAYtoG,IACR,aACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOmhH,KAGrF7lB,EAAYtoG,IAAI,cAAe,kBAAsB,EAAyB+tH,EAAoBM,MAInG,SAASxB,GAA4BF,EAA0B7jB,EAAsBwlB,GAAgB,GAExG,IAAKxlB,EAAU1H,QAAQmX,iBAAkB,CACrC,MAAM90F,EAAU,IAAI9K,IACpB41G,GAAqC5B,EAAW7jB,EAAWrlF,GAG3DqlF,EAAU1H,QAAQmX,iBAAmB90F,EAIzC,MAAMA,EAAU,IAAI9K,IAYpB,OAXAmwF,EAAU1H,QAAQmX,iBAAkBp4F,SAAQ,CAAChoB,EAAO0kB,KAChD4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAItBm2H,GAAiBxlB,EAAUmB,0BAC3BnB,EAAUmB,yBAAyB9pF,SAAQ,CAAChoB,EAAO0kB,KAC/C4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAIvBsrB,EAGX,SAAS8qG,GACL5B,EACA7jB,EACA0lB,EACAlsB,EAAiB,GAEjB31C,EAAO8yC,GAAU0L,iBAAiBrC,IAC9BxG,EAAiBlD,KAGrBkD,IAEAwG,EAAU1H,QAAQgI,YAAYjpF,SAASsuG,IAC/B1tB,GAAoB0tB,IAAkBhvB,GAAU0L,iBAAiBsjB,IACjEF,GAAqC5B,EAAW8B,EAAeD,EAAQlsB,MAK/EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACtC,IAAKsuE,EAAOo9B,4BAA6B,CAErC,MAAM8b,EAAWra,GAA8B7+B,GAC/C,GAAIk5C,GAA8B,IAAlBA,EAAS70H,KAAmC,CACxD,MAAM+nD,EAAY+qE,EAAUgC,yBAAyBn5C,GACrD,IAAIgjC,GAAc/Y,GAAU2L,oBAAoBtC,IPjgBzD,SAAqCtzB,GACxC,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKy1C,aOkgBhFoW,CAA4Bp5C,GP/fzC,SAAwCA,GAC3C,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAK8rD,gBOggBzEC,CAA+Bt5C,KACtCgjC,GAAa,GAFbA,GAAa,EAQjB,MAAMuW,EAAgBP,EAAOpvH,IAAI8H,GACjC,GAAI6nH,IACK9sB,GAAW8sB,EAAcntE,UAAWA,GAAY,CACjD,MAAMyoE,EAAO,IAAId,GACjBc,EAAKZ,WACDgD,GAAUlD,mBAAmByF,6BAA6B9iH,OAAO,CAC7D+iH,WAAYtC,EAAUuC,UAAUH,EAAcntE,WAC9CutE,UAAWxC,EAAUuC,UAAUttE,MAGvC+qE,EAAUyC,cACN,GAA6BV,EAASnsD,MAAM8sD,kBAAkBC,wBAC9D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW86F,6BAA6B9iH,OAAO,CACrDhF,SACCmjH,EAAKR,YACV6E,EAASnsD,MAKrBisD,EAAOxuH,IAAIkH,EAAM,CACb06C,YACA42D,aACA+W,YAAY,UAOzB,SAASC,GACZ7C,EACAvlB,EACAC,EACAgjB,EACA/nB,EAAiB,GAEjB,IAAImtB,GAAqB,EACzB,MAAMC,EAAc7C,GAA4BF,EAAWvlB,GACrDuoB,EAAa9C,GAA4BF,EAAWtlB,GAA6B,GAuDvF,OArDAqoB,EAAYvvG,SAAQ,CAACyvG,EAAW1oH,KAC5B,MAAM2oH,EAAWF,EAAWvwH,IAAI8H,GAC3B2oH,GAWGD,EAAUpX,aAAeqX,EAASrX,YAC9B6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBuG,yBAAyB5jH,OAAO,CACzDhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,IACbG,EAAUpX,YAAcqX,EAASrX,aACrC6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBwG,4BAA4B7jH,OAAO,CAC5DhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,GAIpB9C,EAAUqD,cACPJ,EAAUhuE,UACViuE,EAASjuE,eACEjoD,OACMA,OACLA,EACZ2oG,KAGA+nB,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAE/EuoH,GAAqB,KA7CrBpF,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB2G,wBAAwBhkH,OAAO,CACxDhF,OACArN,KAAM8yH,EAAUuC,UAAU7nB,MAItCooB,GAAqB,MA0CtBA,EAkGJ,SAASU,GACZxD,EACApqD,EACA6tD,EACAC,GAEA,GAA0B,IAAtB9tD,EAAK3kC,MAAM/nC,OAEX,OADA82H,EAAU2D,SAAS7D,GAAUv4F,WAAWq8F,sBAAsBrkH,OAAO,CAAEpE,SAAUy6D,EAAK3kC,MAAM/nC,SAAW0sE,GAChG,CAAEA,OAAM1oE,KAAM0lG,GAAYvyF,UAIrC,GAAIu1D,EAAKf,eAAiBe,EAAK3kC,MAAM,GAAG12B,MAA2C,IAAnCq7D,EAAK3kC,MAAM,GAAG6jC,iBAC1D,OAGJ,MAAMh+C,EAAUopG,GAA4BF,EAAWyD,EAA+C,QAAjBC,EAAM51G,QAErF+1G,EAAkB7D,EAAU8D,oBAAoBluD,EAAK3kC,MAAM,GAAG+jC,iBAC9D+uD,EAAYF,EAAgB32H,KAClC,IAAIwwH,EAAO,IAAId,GACXoH,GAAiC,EAErC,MAAMC,EAAgBjY,GAAY+X,GAAY/vB,IAC1C,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,OAAQ,CACjE,QAA6BhnG,IAAzBgnG,EAAQ4F,aAGR,OAAOhH,GAAYvyF,SAIvB,MAAM6jH,EAAYlwB,EAAQ4F,aACpBjyC,EAAQ7wC,EAAQrkB,IAAIyxH,GAC1B,OAAKv8D,GASQA,EAAMkkD,YAAclkD,EAAMi7D,YAAgC,QAAjBc,EAAM51G,QdsWjE,SAA0B8nD,EAAiBuuD,GAAsB,GACpE,IACI7+B,EADAnuB,EAAiCvB,EAGrC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,OAAOwC,EAAQ0iB,WAAayL,EAGhC,KAAK,GACD,GAAI6+B,GAAuBhtD,EAAQgjB,QAAUmL,EACzC,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EcjYU,CAAgCuiC,GAAgC,IACjE8nD,EAAKZ,WACDgD,GAAUlD,mBAAmBwH,iBAAiB7kH,OAAO,CACjDhF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAMrB,QAAjBC,EAAM51G,OACDkyG,EAAUqD,cAAc17D,EAAM1S,UAAWyuE,EAAMW,SAAWlxB,GAAQ9yF,SAAUq9G,KAC7EsG,GAAiC,GAEb,QAAjBN,EAAM51G,QAAoB65C,EAAMkkD,aACvC6R,EAAKZ,WACDgD,GAAUlD,mBAAmB0H,qBAAqB/kH,OAAO,CACrDhF,KAAM2pH,KAGdF,GAAiC,GAG9Br8D,EAAM1S,YAhCTyoE,EAAKZ,WACDgD,GAAUlD,mBAAmB2H,eAAehlH,OAAO,CAC/ChF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAGlCO,GAAiC,EAC1BpxB,GAAYvyF,UAgC3B,OAJAq9G,EAAKZ,WACDgD,GAAUlD,mBAAmB4H,uBAAuBjlH,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAUvuB,MAE3FgwB,GAAiC,EAC1BpxB,GAAYvyF,YAUvB,GAJIqjH,EAAMe,sBACN/G,EAAOgG,EAAMe,sBAGZ/G,EAAKlpG,UAAW,CACjB,IAAIkwG,EAEAA,EADiB,QAAjBhB,EAAM51G,OACUgyG,GAAUv4F,WAAWo9F,eACb,QAAjBjB,EAAM51G,OACGgyG,GAAUv4F,WAAWq9F,kBAErB9E,GAAUv4F,WAAWs9F,kBAGzC,MAAMnuD,EAAW,GAA6Bd,GAC9CoqD,EAAUyC,cACNuB,EACMttD,EAASgsD,kBAAkBoC,iCAC3BpuD,EAASgsD,kBAAkBC,wBACjCqB,EACMpZ,GAAeka,iCACfla,GAAe+X,wBACrB+B,EAAgBhH,EAAKR,YACrBtnD,GAIR,MAAO,CAAEA,OAAM1oE,KAAM+2H,EAAe/yF,eAAgB2yF,EAAgB3yF,cCpzBxE,SAAS6zF,GAAuB73H,EAA6CivG,GACzE,GAAsB,IAAlBjvG,EAAKs/D,SAA8C,CACnD,GAA8B,IAA1Bt/D,EAAKuqG,UAAUvuG,OACf,OAAO,EAEXgE,EAAOA,EAAKuqG,UAAU,GAK1B,MACgC,aAA5BvqG,EAAKunG,QAAQv7B,cACXijC,KACAjvG,EAAKkzG,cACNtN,GAAU+C,mBAAmBsG,EAAWjvG,EAAKkzG,aAkF/C,SAAS4kB,GACZ5uD,EACA6uD,EACAjF,GAEA,MAAMkF,EAAiB,GAAiC9uD,EAAKR,KAAKr7D,MAA2B,GACvF+/G,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EACjF,GAAIstH,EACA,OAuHR,SACIlkD,EACA6uD,EACAjF,EACA7jB,GAEA,IAAK/lC,IAASyd,GAAsBzd,GAChC,OAGJ,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,IAAK+uD,IAAiBtX,GAAWsX,GAC7B,OAGJ,MAAME,EAAmC,KAAvBjvD,EAAKR,KAAKjB,SAAsCyB,EAAKR,KAAKr7D,KAAK/O,WAAQwB,EACzF,IAAKq4H,EACD,OAGJ,MAAMlW,EAAWC,GAAiBjT,EAAW,GAE7C,IAAK,MAAO8Q,KAAakC,EAAU,CAC/B,IAAK/a,GAAoB6Y,GACrB,SAGJ,MAAMpkC,EAASokC,EAASxY,QAAQiE,OAAOjmG,IAAI4yH,GAErCj7B,EAAQvhB,aAAM,EAANA,EAAQy+B,kBACtB,GAAIld,EACA,IAAK,MAAMh0B,KAAQg0B,EACf,GAAIvW,GAAsBzd,GAAO,CAC7B,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,GAAI+uD,GAAgBtX,GAAWsX,GAAe,CAC1C,MAAM55B,EAAY+5B,GAAqClvD,EAAM6uD,GAC7D,GAAI15B,EACA,OAAOA,KA5JpBg6B,CAA+BnvD,EAAM6uD,EAAcjF,EAAW1F,EAAane,WA2BnF,SAASqpB,GACZt4H,EACAouH,EACA2J,GAEA,IAAI15B,EAAYr+F,EAAKq+F,UAQrB,OAPKA,GACG+vB,GAAgBx4C,GAAWw4C,EAAar+G,QAExCsuF,EAyKZ,SAAiCk6B,GAC7B,IAAK,MAAMzlH,KAAUylH,EACjB,GAAIzlH,EAAO24D,WAAY,CACnB,MAAM4yB,EAAY,GAA4BvrF,EAAO24D,YACrD,GAAI4yB,EACA,OAAOA,GA9KCm6B,CADIT,EAAalN,YAAYuD,EAAar+G,QAKvDsuF,EAGJ,SAASo6B,GACZxpB,EACAmf,EACA2J,GAEA,IAAI15B,EAAY4Q,EAAU1H,QAAQlJ,UAclC,IAbKA,GAAa+vB,GAAgBxnC,GAAmBwnC,KACjD/vB,EAAYq6B,GAAkC,CAACtK,KAE1C/vB,GACD+vB,GACAx4C,GAAWw4C,EAAar+G,OACF,IAAtBq+G,EAAapuH,QAGbq+F,EAAYq6B,GADMX,EAAavM,sBAAsB4C,MAKxD/vB,GAAa+vB,EAAc,CAC5B,MAAMuK,EAAYZ,EAAatM,4BAA4B2C,EAAar+G,KAAMk/F,GAC1E0pB,IAEAt6B,EAAYq6B,GADOC,EAAU9uE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,MAKrF,OAAO8uF,EAGJ,SAASu6B,GAAgC1vD,G,UAC5C,OAAO,GAAwD,QAA5B,EAAgB,QAAhB,EAAS,QAAT,EAAAA,EAAKR,YAAI,eAAEukB,aAAK,eAAExhB,kBAAU,QAAI,IAGhE,SAASotD,GACZ3vD,EACA6uD,GAEA,GAAK7uD,EAIL,YAAuBppE,IAAnBopE,EAAKm1B,UACEn1B,EAAKm1B,UAjFb,SAAyCn1B,EAA2B6uD,GACvE,MAAMe,EAAuB,GAC7B,IAAKljD,GAAW1M,EAAKn5D,MACjB,OAAO+oH,EAGX,IAAK,MAAMrL,KAAYsK,EAAa9M,iBAAiB/hD,GACjD,GAAI4d,GAAsB2mC,IAAeA,EAASpvB,UAC9Cy6B,EAAWz8H,KAAKoxH,EAASpvB,gBACtB,GAAIzX,GAAmB6mC,IAAa9mC,GAAsB8mC,GAAW,CAGxE,MAAMpvB,EAAYu6B,GAAgCnL,GAC9CpvB,GACAy6B,EAAWz8H,KAAKgiG,GAK5B,OAAOy6B,EAgEIC,CAAgC7vD,EAAM6uD,GAAcxrD,MAAMysD,GAAQA,IAIjF,SAASC,GACLj5H,EACAouH,EACA2J,GAEA,IAAKhwB,GAAqB/nG,GACtB,OAGJ,MAAM84H,EAAuB,GAC7B,GAAI94H,EAAKuqG,UAAU96C,MAAMr8C,GAAMA,EAAEm0F,QAAQlJ,YACrCr+F,EAAKuqG,UAAUjkF,SAAS+5F,IAChBA,EAAS9Y,QAAQlJ,WACjBy6B,EAAWz8H,KAAKgkH,EAAS9Y,QAAQlJ,mBAGtC,GAAI+vB,GAAgBx4C,GAAWw4C,EAAar+G,OAAS42E,GAAsBynC,GAAe,CAC7F,MACM/vB,EAAYq6B,GADAX,EAAanM,yBAAyBwC,IAEpD/vB,GACAy6B,EAAWz8H,KAAKgiG,GAIxB,OAAOy6B,EAoEX,SAASV,GAAqChK,EAAmC2J,GAC7E,IAAI15B,EAAYq6B,GAAkC,CAACtK,IAMnD,OALK/vB,GAAazoB,GAAWw4C,EAAar+G,QAEtCsuF,EAAYq6B,GADMX,EAAanM,yBAAyBwC,KAIrD/vB,EAGX,SAASq6B,GAAkCx7B,GACvC,IAAK,MAAMh0B,KAAQg0B,EAAO,CACtB,MAAMmB,EAAYu6B,GAAgC1vD,GAClD,GAAIm1B,EACA,OAAOA,IFjLnB,SAAiBu0B,GACb,IAAiBv4F,EAiwBAq1F,EAgRAvvF,EAaA+4F,GA9hCjB,SAAiB7+F,GACA,EAAA8+F,4BAA8B,IACvC,IAAIvI,GACAQ,GAAa,2CAER,EAAAgI,wBAA0B,IAAMhI,GAAa,sCAC7C,EAAAiI,uBAAyB,IAAMjI,GAAa,qCAC5C,EAAAkI,uBAAyB,IAAMlI,GAAa,qCAC5C,EAAAmI,uBAAyB,IAAMnI,GAAa,qCAC5C,EAAAoI,uBAAyB,IAAMpI,GAAa,qCAC5C,EAAAqI,cAAgB,IACzB,IAAI7I,GAA4DQ,GAAa,6BACpE,EAAAsI,sBAAwB,IACjC,IAAI9I,GACAQ,GAAa,qCAER,EAAAuI,mBAAqB,IAC9B,IAAI/I,GACAQ,GAAa,kCAER,EAAAwI,2BAA6B,IACtC,IAAIhJ,GACAQ,GAAa,0CAER,EAAAyI,mBAAqB,IAC9B,IAAIjJ,GAAsCQ,GAAa,kCAC9C,EAAA0I,oBAAsB,IAC/B,IAAIlJ,GAAuCQ,GAAa,mCAC/C,EAAA2I,+BAAiC,IAC1C,IAAInJ,GAA0CQ,GAAa,8CAClD,EAAA4I,6BAA+B,IAAM5I,GAAa,2CAClD,EAAA6I,cAAgB,IAAM7I,GAAa,4BACnC,EAAA8I,2BAA6B,IACtC,IAAItJ,GAA0CQ,GAAa,0CAClD,EAAA+I,yBAA2B,IAAM/I,GAAa,uCAC9C,EAAAgJ,wBAA0B,IAAMhJ,GAAa,sCAC7C,EAAAiJ,eAAiB,IAAMjJ,GAAa,6BACpC,EAAAkJ,iBAAmB,IAAMlJ,GAAa,+BACtC,EAAAmJ,sBAAwB,IAAMnJ,GAAa,oCAC3C,EAAAoJ,4BAA8B,IACvC,IAAI5J,GAAsCQ,GAAa,2CAC9C,EAAAqJ,0BAA4B,IAAMrJ,GAAa,wCAC/C,EAAAsJ,qBAAuB,IAAMtJ,GAAa,mCAC1C,EAAAuJ,qBAAuB,IAAMvJ,GAAa,mCAC1C,EAAAwJ,wBAA0B,IAAMxJ,GAAa,sCAC7C,EAAAyJ,aAAe,IAAMzJ,GAAa,2BAClC,EAAA0J,gBAAkB,IAAM1J,GAAa,8BACrC,EAAA2J,iBAAmB,IAAM3J,GAAa,+BACtC,EAAA4J,kBAAoB,IAAM5J,GAAa,gCACvC,EAAA6J,iBAAmB,IAAM7J,GAAa,+BACtC,EAAA8J,eAAiB,IAC1B,IAAItK,GAAsCQ,GAAa,8BAC9C,EAAA+J,gCAAkC,IAC3C,IAAIvK,GACAQ,GAAa,+CAER,EAAAgK,iBAAmB,IAAMhK,GAAa,+BACtC,EAAAiK,iBAAmB,IAC5B,IAAIzK,GACAQ,GAAa,gCAER,EAAAkK,mBAAqB,IAC9B,IAAI1K,GACAQ,GAAa,kCAER,EAAAmK,iBAAmB,IAAMnK,GAAa,+BACtC,EAAAoK,kBAAoB,IAAMpK,GAAa,gCACvC,EAAAqK,iBAAmB,IAAMrK,GAAa,+BACtC,EAAAsK,kBAAoB,IAAMtK,GAAa,gCACvC,EAAAuK,yBAA2B,IAAMvK,GAAa,uCAC9C,EAAAwK,wBAA0B,IACnC,IAAIhL,GAAsCQ,GAAa,uCAC9C,EAAAyK,0BAA4B,IAAMzK,GAAa,wCAC/C,EAAA0K,qBAAuB,IAChC,IAAIlL,GAAsCQ,GAAa,oCAC9C,EAAA2K,qBAAuB,IAAM3K,GAAa,mCAC1C,EAAA4K,oBAAsB,IAAM5K,GAAa,kCACzC,EAAA6K,6BAA+B,IACxC,IAAIrL,GAAsCQ,GAAa,4CAC9C,EAAA8K,4BAA8B,IAAM9K,GAAa,0CACjD,EAAA+K,iCAAmC,IAC5C/K,GAAa,+CACJ,EAAAgL,sBAAwB,IACjC,IAAIxL,GAAsCQ,GAAa,qCAC9C,EAAAiL,mBAAqB,IAAMjL,GAAa,iCACxC,EAAAkL,wBAA0B,IAAMlL,GAAa,sCAC7C,EAAAmL,6BAA+B,IACxC,IAAI3L,GACAQ,GAAa,4CAER,EAAAoL,oBAAsB,IAAMpL,GAAa,kCACzC,EAAAqL,oBAAsB,IAAMrL,GAAa,kCACzC,EAAAsL,yBAA2B,IACpC,IAAI9L,GACAQ,GAAa,wCAER,EAAAuL,sBAAwB,IACjC,IAAI/L,GACAQ,GAAa,qCAER,EAAAwL,qBAAuB,IAChC,IAAIhM,GACAQ,GAAa,oCAER,EAAAyL,oBAAsB,IAAMzL,GAAa,kCACzC,EAAA0L,mBAAqB,IAAM1L,GAAa,iCACxC,EAAA2L,4BAA8B,IAAM3L,GAAa,0CACjD,EAAA4L,2BAA6B,IAAM5L,GAAa,yCAChD,EAAA6L,qBAAuB,IAChC,IAAIrM,GAAsCQ,GAAa,oCAC9C,EAAA8L,kBAAoB,IAC7B,IAAItM,GAAsCQ,GAAa,iCAC9C,EAAA+L,8BAAgC,IACzC,IAAIvM,GAA2CQ,GAAa,6CACnD,EAAAgM,kBAAoB,IAAMhM,GAAa,gCACvC,EAAAiM,oBAAsB,IAAMjM,GAAa,kCACzC,EAAAkM,4BAA8B,IAAMlM,GAAa,0CACjD,EAAAmM,0BAA4B,IAAMnM,GAAa,wCAC/C,EAAAoM,4BAA8B,IACvC,IAAI5M,GAA0CQ,GAAa,2CAClD,EAAAqM,sBAAwB,IACjC,IAAI7M,GAA2CQ,GAAa,qCACnD,EAAAsM,wBAA0B,IAAMtM,GAAa,sCAC7C,EAAAuM,sCAAwC,IACjDvM,GAAa,oDACJ,EAAAwM,kCAAoC,IAC7C,IAAIhN,GAAsCQ,GAAa,iDAC9C,EAAAyM,kCAAoC,IAC7CzM,GAAa,gDACJ,EAAA0M,kCAAoC,IAC7C,IAAIlN,GAAsCQ,GAAa,iDAC9C,EAAA2M,mCAAqC,IAC9C,IAAInN,GACAQ,GAAa,kDAER,EAAA4M,0BAA4B,IAAM5M,GAAa,wCAC/C,EAAA6M,yBAA2B,IAAM7M,GAAa,uCAC9C,EAAA8M,uBAAyB,IAAM9M,GAAa,qCAC5C,EAAA+M,wBAA0B,IAAM/M,GAAa,sCAC7C,EAAAgN,eAAiB,IAC1B,IAAIxN,GACAQ,GAAa,8BAER,EAAAiN,iCAAmC,IAC5CjN,GAAa,+CACJ,EAAAkN,iBAAmB,IAAMlN,GAAa,+BACtC,EAAAmN,kBAAoB,IAAMnN,GAAa,gCACvC,EAAAoN,uBAAyB,IAAMpN,GAAa,qCAC5C,EAAAqN,cAAgB,IAAMrN,GAAa,4BACnC,EAAAsN,0BAA4B,IACrC,IAAI9N,GAAsCQ,GAAa,yCAC9C,EAAAuN,mBAAqB,IAAMvN,GAAa,iCACxC,EAAAwN,mBAAqB,IAAMxN,GAAa,iCACxC,EAAAyN,kBAAoB,IAAMzN,GAAa,gCACvC,EAAA0N,oBAAsB,IAC/B,IAAIlO,GAAsCQ,GAAa,mCAC9C,EAAA2N,gBAAkB,IAC3B,IAAInO,GAA4CQ,GAAa,+BACpD,EAAA4N,qBAAuB,IAAM5N,GAAa,mCAC1C,EAAA6N,qBAAuB,IAAM7N,GAAa,mCAC1C,EAAA8N,eAAiB,IAC1B,IAAItO,GAAsCQ,GAAa,8BAC9C,EAAA+N,8BAAgC,IACzC,IAAIvO,GAAsCQ,GAAa,6CAC9C,EAAAgO,qBAAuB,IAAMhO,GAAa,mCAC1C,EAAAiO,yBAA2B,IAAMjO,GAAa,uCAC9C,EAAAkO,sBAAwB,IAAMlO,GAAa,oCAC3C,EAAAmO,gBAAkB,IAAMnO,GAAa,8BACrC,EAAAoO,gBAAkB,IAAMpO,GAAa,8BACrC,EAAAqO,kBAAoB,IAAMrO,GAAa,gCACvC,EAAAsO,kBAAoB,IAC7B,IAAI9O,GAAsCQ,GAAa,iCAC9C,EAAAuO,2BAA6B,IAAMvO,GAAa,yCAChD,EAAAwO,uBAAyB,IAClC,IAAIhP,GAAsCQ,GAAa,sCAC9C,EAAAyO,sBAAwB,IACjC,IAAIjP,GAAsCQ,GAAa,qCAC9C,EAAA0O,6BAA+B,IACxC,IAAIlP,GAAsCQ,GAAa,4CAC9C,EAAA2O,uBAAyB,IAAM3O,GAAa,qCAC5C,EAAA4O,cAAgB,IAAM5O,GAAa,4BACnC,EAAA6O,yBAA2B,IAAM7O,GAAa,uCAC9C,EAAA8O,4BAA8B,IAAM9O,GAAa,0CACjD,EAAA+O,4BAA8B,IAAM/O,GAAa,0CACjD,EAAAgP,oBAAsB,IAAMhP,GAAa,kCACzC,EAAAiP,aAAe,IAAMjP,GAAa,2BAClC,EAAAkP,kBAAoB,IAAMlP,GAAa,gCACvC,EAAAmP,mBAAqB,IAAMnP,GAAa,iCACxC,EAAAoP,qBAAuB,IAAMpP,GAAa,mCAC1C,EAAAqP,mBAAqB,IAAMrP,GAAa,iCACxC,EAAAsP,cAAgB,IAAMtP,GAAa,4BACnC,EAAAuP,6BAA+B,IAAMvP,GAAa,2CAClD,EAAAwP,sBAAwB,IAAMxP,GAAa,oCAC3C,EAAAyP,sBAAwB,IAAMzP,GAAa,oCAC3C,EAAA0P,yBAA2B,IAAM1P,GAAa,uCAC9C,EAAA2P,gBAAkB,IAAM3P,GAAa,8BACrC,EAAA4P,aAAe,IAAM5P,GAAa,2BAClC,EAAA6P,yBAA2B,IAAM7P,GAAa,uCAC9C,EAAA8P,uBAAyB,IAAM9P,GAAa,qCAC5C,EAAA+P,qBAAuB,IAAM/P,GAAa,mCAC1C,EAAAgQ,aAAe,IAAMhQ,GAAa,2BAClC,EAAAiQ,eAAiB,IAAMjQ,GAAa,6BACpC,EAAAkQ,oBAAsB,IAAMlQ,GAAa,kCACzC,EAAAmQ,sBAAwB,IAAMnQ,GAAa,oCAC3C,EAAAoQ,mBAAqB,IAAMpQ,GAAa,iCACxC,EAAAqQ,sBAAwB,IAAMrQ,GAAa,oCAC3C,EAAAsQ,WAAa,IAAMtQ,GAAa,yBAChC,EAAAuQ,eAAiB,IAAMvQ,GAAa,6BACpC,EAAAwQ,2BAA6B,IAAMxQ,GAAa,yCAChD,EAAAyQ,qBAAuB,IAAMzQ,GAAa,mCAC1C,EAAA0Q,mBAAqB,IAAM1Q,GAAa,iCACxC,EAAA2Q,mBAAqB,IAAM3Q,GAAa,iCACxC,EAAA4Q,oBAAsB,IAAM5Q,GAAa,kCACzC,EAAA6Q,uBAAyB,IAAM7Q,GAAa,qCAC5C,EAAA8Q,gBAAkB,IAAM9Q,GAAa,8BACrC,EAAA+Q,2BAA6B,IAAM/Q,GAAa,yCAChD,EAAAgR,kBAAoB,IAAMhR,GAAa,gCACvC,EAAAiR,kBAAoB,IAAMjR,GAAa,gCACvC,EAAAkR,oBAAsB,IAAMlR,GAAa,kCACzC,EAAAmR,2BAA6B,IAAMnR,GAAa,yCAChD,EAAAoR,qBAAuB,IAAMpR,GAAa,mCAC1C,EAAAqR,mBAAqB,IAAMrR,GAAa,iCACxC,EAAAsR,mBAAqB,IAAMtR,GAAa,iCACxC,EAAAuR,sBAAwB,IAAMvR,GAAa,oCAC3C,EAAAwR,kBAAoB,IAAMxR,GAAa,gCACvC,EAAAyR,qBAAuB,IAChC,IAAIjS,GAAsCQ,GAAa,oCAC9C,EAAA0R,aAAe,IAAM1R,GAAa,2BAClC,EAAA2R,oBAAsB,IAC/B,IAAInS,GACAQ,GAAa,mCAER,EAAA4R,gBAAkB,IAC3B,IAAIpS,GAAsCQ,GAAa,+BAC9C,EAAA6R,mBAAqB,IAC9B,IAAIrS,GAAsCQ,GAAa,kCAC9C,EAAA8R,6BAA+B,IACxC,IAAItS,GACAQ,GAAa,4CAER,EAAA+R,iBAAmB,IAAM/R,GAAa,+BACtC,EAAAgS,gBAAkB,IAC3B,IAAIxS,GAAsCQ,GAAa,+BAC9C,EAAAiS,kBAAoB,IAAMjS,GAAa,gCACvC,EAAAkS,kBAAoB,IAAMlS,GAAa,gCACvC,EAAAmS,mBAAqB,IAAMnS,GAAa,iCACxC,EAAAoS,sBAAwB,IAAMpS,GAAa,oCAC3C,EAAAqS,oBAAsB,IAAMrS,GAAa,kCACzC,EAAAsS,oBAAsB,IAAMtS,GAAa,kCACzC,EAAAuS,yBAA2B,IAAMvS,GAAa,uCAC9C,EAAAwS,6BAA+B,IAAMxS,GAAa,2CAClD,EAAAyS,yBAA2B,IAAMzS,GAAa,uCAC9C,EAAA0S,0BAA4B,IAAM1S,GAAa,wCAC/C,EAAA2S,wBAA0B,IAAM3S,GAAa,sCAC7C,EAAA4S,qBAAuB,IAAM5S,GAAa,mCAC1C,EAAA6S,oBAAsB,IAAM7S,GAAa,kCACzC,EAAA8S,kBAAoB,IAAM9S,GAAa,gCACvC,EAAA+S,6BAA+B,IACxC,IAAIvT,GAAuCQ,GAAa,4CAC/C,EAAAgT,sBAAwB,IAAMhT,GAAa,oCAC3C,EAAAiT,sBAAwB,IAAMjT,GAAa,oCAC3C,EAAAkT,qBAAuB,IAAMlT,GAAa,mCAC1C,EAAAmT,mBAAqB,IAC9B,IAAI3T,GAAsCQ,GAAa,kCAC9C,EAAAoT,mBAAqB,IAC9B,IAAI5T,GAAsCQ,GAAa,kCAC9C,EAAAqT,qBAAuB,IAAMrT,GAAa,mCAC1C,EAAAsT,oBAAsB,IAAMtT,GAAa,kCACzC,EAAAuT,oBAAsB,IAC/B,IAAI/T,GAAuCQ,GAAa,mCAC/C,EAAAwT,qBAAuB,IAChC,IAAIhU,GAA4CQ,GAAa,oCACpD,EAAAyT,2BAA6B,IACtC,IAAIjU,GAA4CQ,GAAa,0CACpD,EAAA0T,oBAAsB,IAC/B,IAAIlU,GACAQ,GAAa,mCAER,EAAA2T,2BAA6B,IACtC,IAAInU,GACAQ,GAAa,0CAER,EAAA4T,mBAAqB,IAAM5T,GAAa,iCACxC,EAAA6T,iBAAmB,IAAM7T,GAAa,+BACtC,EAAA8T,mBAAqB,IAAM9T,GAAa,iCACxC,EAAA+T,qBAAuB,IAAM/T,GAAa,mCAC1C,EAAAgU,wBAA0B,IAAMhU,GAAa,sCAC7C,EAAAiU,6BAA+B,IACxC,IAAIzU,GACAQ,GAAa,4CAER,EAAAkU,oBAAsB,IAC/B,IAAI1U,GAAsCQ,GAAa,mCAC9C,EAAAmU,oBAAsB,IAC/B,IAAI3U,GAAsCQ,GAAa,mCAC9C,EAAAoU,kBAAoB,IAC7B,IAAI5U,GAAuDQ,GAAa,iCAC/D,EAAAqU,mBAAqB,IAC9B,IAAI7U,GAAuDQ,GAAa,kCAC/D,EAAAsU,0BAA4B,IACrC,IAAI9U,GACAQ,GAAa,yCAER,EAAAuU,sBAAwB,IAAMvU,GAAa,oCAC3C,EAAAwU,qBAAuB,IAAMxU,GAAa,mCAC1C,EAAAyU,kBAAoB,IAC7B,IAAIjV,GAAsCQ,GAAa,iCAC9C,EAAA0U,sBAAwB,IACjC,IAAIlV,GAAsCQ,GAAa,qCAC9C,EAAA2U,sBAAwB,IACjC,IAAInV,GAAsCQ,GAAa,qCAC9C,EAAA4U,cAAgB,IAAM5U,GAAa,4BACnC,EAAA6U,yBAA2B,IAAM7U,GAAa,uCAC9C,EAAA8U,qBAAuB,IAAM9U,GAAa,mCAC1C,EAAA+U,wBAA0B,IAAM/U,GAAa,sCAC7C,EAAAgV,wBAA0B,IAAMhV,GAAa,sCAC7C,EAAAiV,iCAAmC,IAC5C,IAAIzV,GACAQ,GAAa,gDAER,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,sCAC9C,EAAAmV,iBAAmB,IAAMnV,GAAa,+BACtC,EAAAoV,uBAAyB,IAAMpV,GAAa,qCAC5C,EAAAqV,iBAAmB,IAAMrV,GAAa,+BACtC,EAAAsV,mBAAqB,IAAMtV,GAAa,iCACxC,EAAAuV,kBAAoB,IAAMvV,GAAa,gCACvC,EAAAwV,qBAAuB,IAAMxV,GAAa,mCAC1C,EAAAyV,sBAAwB,IAAMzV,GAAa,oCAC3C,EAAA0V,aAAe,IACxB,IAAIlW,GAAoDQ,GAAa,4BAC5D,EAAA2V,aAAe,IACxB,IAAInW,GAAoDQ,GAAa,4BAC5D,EAAA4V,UAAY,IACrB,IAAIpW,GAAoDQ,GAAa,yBAC5D,EAAA6V,kBAAoB,IAAM7V,GAAa,gCACvC,EAAA8V,mBAAqB,IAAM9V,GAAa,iCACxC,EAAA+V,mBAAqB,IAAM/V,GAAa,iCACxC,EAAAgW,iBAAmB,IAC5B,IAAIxW,GAAsCQ,GAAa,gCAC9C,EAAAiW,uBAAyB,IAClC,IAAIzW,GAAoDQ,GAAa,sCAC5D,EAAAkW,eAAiB,IAAMlW,GAAa,6BACpC,EAAAmW,iBAAmB,IAC5B,IAAI3W,GACAQ,GAAa,gCAER,EAAAoW,uBAAyB,IAClC,IAAI5W,GAAsCQ,GAAa,sCAC9C,EAAAqW,8BAAgC,IACzC,IAAI7W,GACAQ,GAAa,6CAER,EAAAsW,uBAAyB,IAAMtW,GAAa,qCAC5C,EAAAuW,iBAAmB,IAC5B,IAAI/W,GAA4CQ,GAAa,gCACpD,EAAAwW,aAAe,IAAMxW,GAAa,2BAClC,EAAAyW,kBAAoB,IAAMzW,GAAa,gCACvC,EAAA0W,oBAAsB,IAC/B,IAAIlX,GAAsDQ,GAAa,mCAC9D,EAAA2W,yBAA2B,IAAM3W,GAAa,uCAC9C,EAAA4W,6BAA+B,IACxC,IAAIpX,GAAsCQ,GAAa,4CAC9C,EAAA6W,oBAAsB,IAAM7W,GAAa,kCACzC,EAAA8W,mBAAqB,IAAM9W,GAAa,iCACxC,EAAA+W,8BAAgC,IAAM/W,GAAa,4CACnD,EAAAgX,mBAAqB,IAAMhX,GAAa,iCACxC,EAAAiX,qBAAuB,IAAMjX,GAAa,mCAC1C,EAAAkX,kBAAoB,IAAMlX,GAAa,gCACvC,EAAAmX,oBAAsB,IAAMnX,GAAa,kCACzC,EAAAoX,YAAc,IAAMpX,GAAa,0BACjC,EAAAqX,eAAiB,IAAMrX,GAAa,6BACpC,EAAAsX,iBAAmB,IAAMtX,GAAa,+BACtC,EAAAuX,qBAAuB,IAAMvX,GAAa,mCAC1C,EAAAwX,uBAAyB,IAAMxX,GAAa,qCAC5C,EAAAyX,gBAAkB,IAAMzX,GAAa,8BACrC,EAAA0X,gBAAkB,IAAM1X,GAAa,8BACrC,EAAA2X,qBAAuB,IAAM3X,GAAa,mCAC1C,EAAA4X,kBAAoB,IAAM5X,GAAa,gCACvC,EAAA6X,aAAe,IACxB,IAAIrY,GAA0CQ,GAAa,4BAClD,EAAA8X,kBAAoB,IAC7B,IAAItY,GAAsCQ,GAAa,iCAC9C,EAAA+X,kBAAoB,IAC7B,IAAIvY,GAAsCQ,GAAa,iCAC9C,EAAAgY,qBAAuB,IAChC,IAAIxY,GAAsCQ,GAAa,oCAC9C,EAAAiY,qBAAuB,IAChC,IAAIzY,GAAsCQ,GAAa,oCAC9C,EAAAkY,iBAAmB,IAAMlY,GAAa,+BACtC,EAAAmY,WAAa,IACtB,IAAI3Y,GAAsCQ,GAAa,0BAC9C,EAAAoY,uBAAyB,IAAMpY,GAAa,qCAC5C,EAAAqY,sBAAwB,IAAMrY,GAAa,oCAC3C,EAAAsY,oBAAsB,IAAMtY,GAAa,kCACzC,EAAAuY,oBAAsB,IAAMvY,GAAa,kCACzC,EAAAwY,0BAA4B,IAAMxY,GAAa,wCAC/C,EAAAyY,kBAAoB,IAC7B,IAAIjZ,GAAsCQ,GAAa,iCAC9C,EAAA0Y,yBAA2B,IACpC,IAAIlZ,GAAsCQ,GAAa,wCAC9C,EAAA2Y,4BAA8B,IACvC,IAAInZ,GAAsCQ,GAAa,2CAC9C,EAAA4Y,0BAA4B,IACrC,IAAIpZ,GAAsCQ,GAAa,yCAC9C,EAAA6Y,6BAA+B,IACxC,IAAIrZ,GAAsCQ,GAAa,4CAC9C,EAAA8Y,4BAA8B,IACvC,IAAItZ,GAAsCQ,GAAa,2CAC9C,EAAA+Y,gCAAkC,IAAM/Y,GAAa,8CACrD,EAAAgZ,kBAAoB,IAAMhZ,GAAa,gCACvC,EAAAiZ,qBAAuB,IAAMjZ,GAAa,mCAC1C,EAAAkZ,qBAAuB,IAAMlZ,GAAa,mCAC1C,EAAAmZ,oBAAsB,IAC/B,IAAI3Z,GACAQ,GAAa,mCAER,EAAAoZ,yBAA2B,IACpC,IAAI5Z,GAAsCQ,GAAa,wCAC9C,EAAAqZ,+BAAiC,IAC1C,IAAI7Z,GACAQ,GAAa,8CAER,EAAAsZ,2BAA6B,IACtC,IAAI9Z,GACAQ,GAAa,0CAER,EAAAuZ,2BAA6B,IACtC,IAAI/Z,GAAsCQ,GAAa,0CAC9C,EAAAwZ,8BAAgC,IACzC,IAAIha,GAAsCQ,GAAa,6CAC9C,EAAAyZ,sBAAwB,IAAMzZ,GAAa,oCAC3C,EAAA0Z,qBAAuB,IAChC,IAAIla,GAAsCQ,GAAa,oCAC9C,EAAA2Z,uBAAyB,IAClC,IAAIna,GAAsCQ,GAAa,sCAC9C,EAAA4Z,iBAAmB,IAC5B,IAAIpa,GAAsCQ,GAAa,gCAC9C,EAAA6Z,yBAA2B,IAAM7Z,GAAa,uCAC9C,EAAA8Z,mBAAqB,IAAM9Z,GAAa,iCACxC,EAAA+Z,sBAAwB,IACjC,IAAIva,GAAsCQ,GAAa,qCAC9C,EAAAga,iBAAmB,IAAMha,GAAa,+BACtC,EAAAia,kBAAoB,IAAMja,GAAa,gCACvC,EAAAka,qBAAuB,IAAMla,GAAa,mCAC1C,EAAAma,kBAAoB,IAC7B,IAAI3a,GAAsCQ,GAAa,iCAC9C,EAAAoa,6BAA+B,IACxC,IAAI5a,GAAsCQ,GAAa,4CAC9C,EAAAqa,oBAAsB,IAAMra,GAAa,kCACzC,EAAAsa,uBAAyB,IAClC,IAAI9a,GAAsCQ,GAAa,sCAC9C,EAAAua,sBAAwB,IACjC,IAAI/a,GAAsCQ,GAAa,qCAC9C,EAAAwa,mBAAqB,IAAMxa,GAAa,iCACxC,EAAAya,iBAAmB,IAC5B,IAAIjb,GAA2CQ,GAAa,gCACnD,EAAA0a,wBAA0B,IACnC,IAAIlb,GACAQ,GAAa,uCAER,EAAA2a,0BAA4B,IACrC,IAAInb,GAA2CQ,GAAa,yCACnD,EAAA4a,mCAAqC,IAC9C5a,GAAa,iDACJ,EAAA6a,yBAA2B,IAAM7a,GAAa,uCAC9C,EAAA8a,+BAAiC,IAC1C,IAAItb,GACAQ,GAAa,8CAER,EAAA+a,sBAAwB,IAAM/a,GAAa,oCAC3C,EAAAgb,6BAA+B,IAAMhb,GAAa,2CAClD,EAAAib,yBAA2B,IAAMjb,GAAa,uCAC9C,EAAAkb,uBAAyB,IAAMlb,GAAa,qCAC5C,EAAAmb,0BAA4B,IACrC,IAAI3b,GAAsCQ,GAAa,yCAC9C,EAAAob,2BAA6B,IACtC,IAAI5b,GAAsCQ,GAAa,0CAC9C,EAAAqb,mBAAqB,IAC9B,IAAI7b,GAAyDQ,GAAa,kCACjE,EAAAsb,qBAAuB,IAAMtb,GAAa,mCAC1C,EAAAub,4BAA8B,IACvC,IAAI/b,GAAsCQ,GAAa,2CAC9C,EAAAwb,kBAAoB,IAC7B,IAAIhc,GACAQ,GAAa,iCAER,EAAAyb,gBAAkB,IAAMzb,GAAa,8BACrC,EAAA0b,0BAA4B,IACrC,IAAIlc,GACAQ,GAAa,yCAER,EAAA2b,iCAAmC,IAC5C3b,GAAa,+CACJ,EAAA4b,mBAAqB,IAC9B,IAAIpc,GAAsCQ,GAAa,kCAC9C,EAAA6b,8BAAgC,IACzC,IAAIrc,GACAQ,GAAa,6CAER,EAAA8b,0BAA4B,IACrC,IAAItc,GACAQ,GAAa,yCAER,EAAA+b,0BAA4B,IACrC,IAAIvc,GACAQ,GAAa,yCAER,EAAAgc,oBAAsB,IAC/B,IAAIxc,GAAsCQ,GAAa,mCAC9C,EAAAic,yBAA2B,IAAMjc,GAAa,uCAC9C,EAAAkc,iBAAmB,IAAMlc,GAAa,+BACtC,EAAAmc,uBAAyB,IAAMnc,GAAa,qCAC5C,EAAAoc,cAAgB,IACzB,IAAI5c,GAA4CQ,GAAa,6BACpD,EAAAqc,sBAAwB,IAAMrc,GAAa,oCAC3C,EAAAsc,wBAA0B,IAAMtc,GAAa,sCAC7C,EAAAuc,mBAAqB,IAC9B,IAAI/c,GACAQ,GAAa,kCAER,EAAAwc,kBAAoB,IAAMxc,GAAa,gCACvC,EAAAyc,2BAA6B,IACtC,IAAIjd,GAA4CQ,GAAa,0CACpD,EAAA0c,iBAAmB,IAAM1c,GAAa,+BACtC,EAAA2c,iBAAmB,IAAM3c,GAAa,+BACtC,EAAA4c,eAAiB,IAAM5c,GAAa,6BACpC,EAAA6c,0BAA4B,IAAM7c,GAAa,wCAC/C,EAAA8c,+BAAiC,IAC1C,IAAItd,GACAQ,GAAa,8CAER,EAAA+c,+BAAiC,IAC1C,IAAIvd,GACAQ,GAAa,8CAER,EAAAgd,gBAAkB,IAAMhd,GAAa,8BACrC,EAAAid,2BAA6B,IAAMjd,GAAa,yCAChD,EAAAkd,yBAA2B,IAAMld,GAAa,uCAC9C,EAAAmd,uBAAyB,IAAMnd,GAAa,qCAC5C,EAAAod,uBAAyB,IAAMpd,GAAa,qCAC5C,EAAAqd,eAAiB,IAC1B,IAAI7d,GAAsCQ,GAAa,8BAC9C,EAAAsd,oBAAsB,IAC/B,IAAI9d,GAAsCQ,GAAa,mCAC9C,EAAAud,sBAAwB,IACjC,IAAI/d,GAAsCQ,GAAa,qCAC9C,EAAAwd,2BAA6B,IAAMxd,GAAa,yCAChD,EAAAyd,mBAAqB,IAAMzd,GAAa,iCACxC,EAAA0d,0BAA4B,IACrC,IAAIle,GACAQ,GAAa,yCAER,EAAA2d,oBAAsB,IAAM3d,GAAa,kCACzC,EAAA4d,uBAAyB,IAAM5d,GAAa,qCAC5C,EAAA6d,wBAA0B,IAAM7d,GAAa,sCAC7C,EAAA8d,mBAAqB,IAAM9d,GAAa,iCACxC,EAAA+d,gBAAkB,IAC3B,IAAIve,GAA4CQ,GAAa,+BACpD,EAAAge,gBAAkB,IAAMhe,GAAa,8BACrC,EAAAie,0BAA4B,IAAMje,GAAa,wCAC/C,EAAAke,kBAAoB,IAAMle,GAAa,gCACvC,EAAAme,kBAAoB,IAC7B,IAAI3e,GAAsCQ,GAAa,iCAC9C,EAAAoe,mBAAqB,IAC9B,IAAI5e,GAAsCQ,GAAa,kCAC9C,EAAAqe,qBAAuB,IAAMre,GAAa,mCAC1C,EAAAse,gBAAkB,IAC3B,IAAI9e,GAAsCQ,GAAa,+BAC9C,EAAAue,kBAAoB,IAC7B,IAAI/e,GAAsCQ,GAAa,iCAC9C,EAAAwe,wBAA0B,IACnC,IAAIhf,GAAsCQ,GAAa,uCAC9C,EAAAye,iBAAmB,IAC5B,IAAIjf,GAAyDQ,GAAa,gCACjE,EAAA0e,2BAA6B,IAAM1e,GAAa,yCAChD,EAAA2e,0BAA4B,IAAM3e,GAAa,wCAC/C,EAAA4e,iBAAmB,IAAM5e,GAAa,+BACtC,EAAA6e,wBAA0B,IACnC,IAAIrf,GAAsCQ,GAAa,uCAC9C,EAAA8e,kBAAoB,IAAM9e,GAAa,gCACvC,EAAA+e,qBAAuB,IAChC,IAAIvf,GAAqDQ,GAAa,oCAC7D,EAAAgf,2BAA6B,IACtC,IAAIxf,GAAsCQ,GAAa,0CAC9C,EAAAif,6BAA+B,IACxC,IAAIzf,GAAsCQ,GAAa,4CAC9C,EAAAkf,4BAA8B,IAAMlf,GAAa,0CACjD,EAAAmf,oBAAsB,IAC/B,IAAI3f,GAAsCQ,GAAa,mCAC9C,EAAAof,mBAAqB,IAAMpf,GAAa,iCACxC,EAAAqf,uBAAyB,IAAMrf,GAAa,qCAC5C,EAAAsf,oBAAsB,IAAMtf,GAAa,kCACzC,EAAAuf,sBAAwB,IAAMvf,GAAa,oCAC3C,EAAAwf,sBAAwB,IACjC,IAAIhgB,GAAsCQ,GAAa,qCAC9C,EAAAsF,oBAAsB,IAC/B,IAAI9F,GAA0CQ,GAAa,mCAClD,EAAAyf,wBAA0B,IACnC,IAAIjgB,GAAsCQ,GAAa,uCAC9C,EAAA0f,wBAA0B,IACnC,IAAIlgB,GAAsCQ,GAAa,uCAC9C,EAAA2f,eAAiB,IAC1B,IAAIngB,GACAQ,GAAa,8BAER,EAAA4f,gBAAkB,IAC3B,IAAIpgB,GACAQ,GAAa,+BAER,EAAA6f,uBAAyB,IAClC,IAAIrgB,GACAQ,GAAa,sCAER,EAAA8f,mBAAqB,IAAM9f,GAAa,iCACxC,EAAAuG,gBAAkB,IAAMvG,GAAa,8BACrC,EAAA+f,gBAAkB,IAAM/f,GAAa,8BACrC,EAAAggB,mBAAqB,IAAMhgB,GAAa,iCACxC,EAAAsG,gBAAkB,IAAMtG,GAAa,8BACrC,EAAAigB,mBAAqB,IAAMjgB,GAAa,iCACxC,EAAAkgB,mBAAqB,IAAMlgB,GAAa,iCACxC,EAAAmgB,qBAAuB,IAAMngB,GAAa,mCAC1C,EAAAogB,mBAAqB,IAAMpgB,GAAa,iCACxC,EAAA+D,2BAA6B,IACtC,IAAIvE,GAAsCQ,GAAa,0CAC9C,EAAAqgB,kBAAoB,IAAMrgB,GAAa,gCACvC,EAAAsgB,uBAAyB,IAAMtgB,GAAa,qCAC5C,EAAAugB,4BAA8B,IAAMvgB,GAAa,0CACjD,EAAAqG,aAAe,IAAMrG,GAAa,2BAClC,EAAAwgB,oBAAsB,IAAMxgB,GAAa,kCACzC,EAAAygB,kBAAoB,IAC7B,IAAIjhB,GAAsCQ,GAAa,iCAC9C,EAAA0gB,kBAAoB,IAAM1gB,GAAa,gCACvC,EAAA2gB,iBAAmB,IAC5B,IAAInhB,GAAsCQ,GAAa,gCAC9C,EAAA4gB,gBAAkB,IAC3B,IAAIphB,GAA0DQ,GAAa,+BAClE,EAAA6gB,mBAAqB,IAC9B,IAAIrhB,GAAsCQ,GAAa,kCAC9C,EAAA8gB,gBAAkB,IAC3B,IAAIthB,GAAsCQ,GAAa,+BAC9C,EAAA+gB,qBAAuB,IAChC,IAAIvhB,GAAsCQ,GAAa,oCAC9C,EAAAghB,qBAAuB,IAChC,IAAIxhB,GAAsCQ,GAAa,oCAC9C,EAAAihB,kBAAoB,IAC7B,IAAIzhB,GAAsDQ,GAAa,iCAC9D,EAAAkhB,6BAA+B,IACxC,IAAI1hB,GACAQ,GAAa,4CAER,EAAAmhB,0CAA4C,IACrD,IAAI3hB,GACAQ,GAAa,yDAER,EAAAohB,4BAA8B,IACvC,IAAI5hB,GACAQ,GAAa,2CAER,EAAAqhB,yCAA2C,IACpD,IAAI7hB,GACAQ,GAAa,wDAER,EAAAshB,qBAAuB,IAChC,IAAI9hB,GAAsCQ,GAAa,oCAC9C,EAAAuhB,YAAc,IACvB,IAAI/hB,GAAsCQ,GAAa,2BAC9C,EAAAwhB,oBAAsB,IAC/B,IAAIhiB,GAAsCQ,GAAa,mCAC9C,EAAAyhB,0BAA4B,IACrC,IAAIjiB,GACAQ,GAAa,yCAER,EAAA0hB,2BAA6B,IAAM1hB,GAAa,yCAChD,EAAA2hB,gBAAkB,IAAM3hB,GAAa,8BACrC,EAAA4hB,eAAiB,IAAM5hB,GAAa,6BACpC,EAAA6hB,gBAAkB,IAC3B,IAAIriB,GAAoDQ,GAAa,+BAC5D,EAAA8hB,wBAA0B,IACnC,IAAItiB,GAAsCQ,GAAa,uCAC9C,EAAA+hB,2BAA6B,IACtC,IAAIviB,GAAsCQ,GAAa,0CAC9C,EAAAgiB,wBAA0B,IAAMhiB,GAAa,sCAC7C,EAAAiiB,qBAAuB,IAAMjiB,GAAa,mCAC1C,EAAAkiB,2BAA6B,IAAMliB,GAAa,yCAChD,EAAAmiB,oBAAsB,IAAMniB,GAAa,kCACzC,EAAAoiB,oBAAsB,IAC/B,IAAI5iB,GAAsCQ,GAAa,mCAC9C,EAAAqiB,wBAA0B,IACnC,IAAI7iB,GAAsCQ,GAAa,uCAC9C,EAAAsiB,oBAAsB,IAC/B,IAAI9iB,GAAsCQ,GAAa,mCAC9C,EAAAuiB,gBAAkB,IAAMviB,GAAa,8BACrC,EAAAwiB,gBAAkB,IAC3B,IAAIhjB,GAAsCQ,GAAa,+BAC9C,EAAAyiB,mBAAqB,IAC9B,IAAIjjB,GAAsCQ,GAAa,kCAC9C,EAAA0iB,iBAAmB,IAC5B,IAAIljB,GAAsCQ,GAAa,gCAC9C,EAAA2iB,iBAAmB,IAC5B,IAAInjB,GAAsCQ,GAAa,gCAC9C,EAAA4iB,mBAAqB,IAC9B,IAAIpjB,GAAsCQ,GAAa,kCAC9C,EAAA6iB,qBAAuB,IAAM7iB,GAAa,mCAC1C,EAAA8iB,oBAAsB,IAAM9iB,GAAa,kCACzC,EAAA+iB,iBAAmB,IAAM/iB,GAAa,+BACtC,EAAAgjB,mBAAqB,IAAMhjB,GAAa,iCACxC,EAAAijB,mBAAqB,IAAMjjB,GAAa,iCACxC,EAAAkjB,kBAAoB,IAAMljB,GAAa,gCACvC,EAAAmjB,8BAAgC,IACzC,IAAI3jB,GAAsCQ,GAAa,6CAC9C,EAAAojB,gBAAkB,IAC3B,IAAI5jB,GAAsCQ,GAAa,+BAC9C,EAAAqjB,4BAA8B,IACvC,IAAI7jB,GACAQ,GAAa,2CAER,EAAAsjB,4BAA8B,IACvC,IAAI9jB,GACAQ,GAAa,2CAER,EAAAujB,sBAAwB,IAAMvjB,GAAa,oCAC3C,EAAAwjB,eAAiB,IAAMxjB,GAAa,6BACpC,EAAAyjB,0BAA4B,IAAMzjB,GAAa,wCAC/C,EAAA0jB,6BAA+B,IAAM1jB,GAAa,2CAClD,EAAA2jB,+BAAiC,IAAM3jB,GAAa,6CACpD,EAAA4jB,yBAA2B,IAAM5jB,GAAa,uCAC9C,EAAA6jB,0BAA4B,IAAM7jB,GAAa,wCAC/C,EAAA8jB,6BAA+B,IACxC,IAAItkB,GACAQ,GAAa,4CAER,EAAA+jB,wBAA0B,IAAM/jB,GAAa,sCAC7C,EAAAgkB,2BAA6B,IAAMhkB,GAAa,yCAChD,EAAAikB,6BAA+B,IAAMjkB,GAAa,2CAClD,EAAAkkB,mBAAqB,IAAMlkB,GAAa,iCACxC,EAAAmkB,aAAe,IAAMnkB,GAAa,2BAClC,EAAAokB,YAAc,IAAMpkB,GAAa,0BACjC,EAAAqkB,iBAAmB,IAAMrkB,GAAa,+BACtC,EAAAskB,yBAA2B,IAAMtkB,GAAa,uCAC9C,EAAAukB,oBAAsB,IAAMvkB,GAAa,kCACzC,EAAAwkB,gBAAkB,IAAMxkB,GAAa,8BACrC,EAAAykB,kBAAoB,IAAMzkB,GAAa,gCACvC,EAAA0kB,8BAAgC,IAAM1kB,GAAa,4CACnD,EAAA2kB,iBAAmB,IAC5B,IAAInlB,GAAsCQ,GAAa,gCAC9C,EAAA4kB,gBAAkB,IAAM5kB,GAAa,8BACrC,EAAA6kB,qBAAuB,IAAM7kB,GAAa,mCAC1C,EAAA8kB,wBAA0B,IAAM9kB,GAAa,sCAC7C,EAAA+kB,8BAAgC,IACzC,IAAIvlB,GAAuCQ,GAAa,6CAC/C,EAAAglB,8BAAgC,IACzC,IAAIxlB,GAAuCQ,GAAa,6CAC/C,EAAAilB,cAAgB,IAAMjlB,GAAa,4BACnC,EAAAklB,iBAAmB,IAAMllB,GAAa,+BACtC,EAAAmlB,mBAAqB,IAAMnlB,GAAa,iCACxC,EAAAolB,sBAAwB,IAAMplB,GAAa,oCAC3C,EAAAqlB,iBAAmB,IAAMrlB,GAAa,+BACtC,EAAAslB,sBAAwB,IAAMtlB,GAAa,oCAC3C,EAAAulB,qBAAuB,IAAMvlB,GAAa,mCAC1C,EAAAwlB,kBAAoB,IAC7B,IAAIhmB,GACAQ,GAAa,iCAER,EAAAylB,qBAAuB,IAAMzlB,GAAa,mCAC1C,EAAA0lB,wBAA0B,IAAM1lB,GAAa,sCAC7C,EAAA2lB,0BAA4B,IAAM3lB,GAAa,wCA9vBhE,CAAiB/2F,EAAA,EAAAA,aAAA,EAAAA,WAAU,KAiwB3B,SAAiBq1F,GACA,EAAAsnB,SAAW,IACpB,IAAIpmB,GAA2CQ,GAAa,gCACnD,EAAA6lB,iBAAmB,IAC5B,IAAIrmB,GACAQ,GAAa,wCAER,EAAA8lB,iBAAmB,IAC5B,IAAItmB,GAA2CQ,GAAa,wCACnD,EAAA+lB,iBAAmB,IAC5B,IAAIvmB,GACAQ,GAAa,wCAER,EAAAgmB,aAAe,IACxB,IAAIxmB,GAAsCQ,GAAa,oCAC9C,EAAAimB,cAAgB,IACzB,IAAIzmB,GAAuCQ,GAAa,qCAC/C,EAAAkmB,aAAe,IAAMlmB,GAAa,mCAClC,EAAAmmB,UAAY,IAAMnmB,GAAa,gCAC/B,EAAAomB,sBAAwB,IACjC,IAAI5mB,GACAQ,GAAa,6CAER,EAAAqmB,gBAAkB,IAC3B,IAAI7mB,GAAsCQ,GAAa,uCAC9C,EAAAsmB,uBAAyB,IAAMtmB,GAAa,6CAC5C,EAAAumB,YAAc,IAAMvmB,GAAa,kCACjC,EAAAwmB,4BAA8B,IACvC,IAAIhnB,GAAsCQ,GAAa,mDAC9C,EAAAymB,kBAAoB,IAC7B,IAAIjnB,GACAQ,GAAa,yCAER,EAAA0mB,2BAA6B,IACtC,IAAIlnB,GACAQ,GAAa,kDAER,EAAA2mB,qBAAuB,IAChC,IAAInnB,GACAQ,GAAa,4CAER,EAAA4mB,mBAAqB,IAAM5mB,GAAa,yCACxC,EAAA6mB,mBAAqB,IAAM7mB,GAAa,yCACxC,EAAA8mB,oBAAsB,IAAM9mB,GAAa,0CACzC,EAAA+mB,mBAAqB,IAC9B,IAAIvnB,GAAsCQ,GAAa,0CAC9C,EAAAgnB,oBAAsB,IAC/B,IAAIxnB,GAAsCQ,GAAa,2CAC9C,EAAAinB,sBAAwB,IACjC,IAAIznB,GACAQ,GAAa,6CAER,EAAA8F,eAAiB,IAC1B,IAAItG,GAAoDQ,GAAa,sCAC5D,EAAAgG,mBAAqB,IAC9B,IAAIxG,GAAsCQ,GAAa,0CAC9C,EAAAiG,aAAe,IACxB,IAAIzG,GAAoDQ,GAAa,oCAC5D,EAAAknB,mBAAqB,IAC9B,IAAI1nB,GAA2CQ,GAAa,0CACnD,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,8CAC9C,EAAAmnB,0BAA4B,IACrC,IAAI3nB,GACAQ,GAAa,iDAER,EAAAonB,yBAA2B,IACpC,IAAI5nB,GAAsCQ,GAAa,gDAC9C,EAAAqnB,yBAA2B,IAAMrnB,GAAa,+CAC9C,EAAAsnB,iBAAmB,IAC5B,IAAI9nB,GACAQ,GAAa,wCAER,EAAAunB,iBAAmB,IAC5B,IAAI/nB,GACAQ,GAAa,wCAER,EAAAwnB,qBAAuB,IAChC,IAAIhoB,GAAuCQ,GAAa,4CAC/C,EAAAynB,wBAA0B,IACnC,IAAIjoB,GAAsCQ,GAAa,+CAC9C,EAAA0nB,gBAAkB,IAC3B,IAAIloB,GAAsCQ,GAAa,uCAC9C,EAAA2nB,2BAA6B,IACtC,IAAInoB,GAAsCQ,GAAa,kDAC9C,EAAA4nB,kBAAoB,IAC7B,IAAIpoB,GAAsCQ,GAAa,yCAC9C,EAAAgF,mBAAqB,IAC9B,IAAIxF,GAAsCQ,GAAa,0CAC9C,EAAA6nB,cAAgB,IACzB,IAAIroB,GAAsCQ,GAAa,qCAC9C,EAAA8nB,sBAAwB,IACjC,IAAItoB,GACAQ,GAAa,6CAER,EAAA+nB,cAAgB,IAAM/nB,GAAa,oCACnC,EAAAgoB,cAAgB,IAAMhoB,GAAa,oCACnC,EAAAioB,eAAiB,IAAMjoB,GAAa,qCACpC,EAAAkoB,wBAA0B,IACnC,IAAI1oB,GAAsCQ,GAAa,+CAC9C,EAAAmoB,0BAA4B,IACrC,IAAI3oB,GAAsCQ,GAAa,iDAC9C,EAAAooB,uBAAyB,IAClC,IAAI5oB,GACAQ,GAAa,8CAER,EAAAqoB,kBAAoB,IAC7B,IAAI7oB,GAAsCQ,GAAa,yCAC9C,EAAAsoB,mBAAqB,IAC9B,IAAI9oB,GAAsCQ,GAAa,0CAC9C,EAAAuoB,qBAAuB,IAChC,IAAI/oB,GAAsCQ,GAAa,4CAC9C,EAAAkZ,qBAAuB,IAChC,IAAI1Z,GAAsCQ,GAAa,4CAC9C,EAAAwoB,eAAiB,IAAMxoB,GAAa,qCACpC,EAAAyoB,sBAAwB,IACjC,IAAIjpB,GAAsCQ,GAAa,6CAC9C,EAAAuZ,2BAA6B,IAAMvZ,GAAa,iDAChD,EAAA0oB,iBAAmB,IAAM1oB,GAAa,uCACtC,EAAA2oB,iBAAmB,IAAM3oB,GAAa,uCACtC,EAAA4oB,mBAAqB,IAC9B,IAAIppB,GACAQ,GAAa,0CAER,EAAA6oB,kBAAoB,IAC7B,IAAIrpB,GACAQ,GAAa,yCAER,EAAA8oB,8BAAgC,IACzC,IAAItpB,GACAQ,GAAa,qDAER,EAAA+oB,kBAAoB,IAC7B,IAAIvpB,GACAQ,GAAa,yCAER,EAAAgpB,mBAAqB,IAC9B,IAAIxpB,GACAQ,GAAa,0CAER,EAAAipB,aAAe,IACxB,IAAIzpB,GAAsCQ,GAAa,oCAC9C,EAAAkpB,gBAAkB,IAC3B,IAAI1pB,GACAQ,GAAa,uCAER,EAAAmpB,kBAAoB,IAAMnpB,GAAa,wCACvC,EAAApO,UAAY,IACrB,IAAI4N,GAA2CQ,GAAa,iCACnD,EAAAopB,+BAAiC,IAC1C,IAAI5pB,GACAQ,GAAa,sDAER,EAAAqpB,gCAAkC,IAC3CrpB,GAAa,sDACJ,EAAAspB,2BAA6B,IACtC,IAAI9pB,GAAsCQ,GAAa,kDAC9C,EAAAupB,sBAAwB,IACjC,IAAI/pB,GAAsCQ,GAAa,6CAC9C,EAAAwpB,uBAAyB,IAClC,IAAIhqB,GAAsCQ,GAAa,8CAC9C,EAAAypB,sBAAwB,IACjC,IAAIjqB,GAAsCQ,GAAa,6CAC9C,EAAA0pB,uBAAyB,IAClC,IAAIlqB,GAAsCQ,GAAa,8CAC9C,EAAA2pB,qBAAuB,IAChC,IAAInqB,GACAQ,GAAa,4CAER,EAAA4pB,sBAAwB,IACjC,IAAIpqB,GAAsCQ,GAAa,6CAC9C,EAAA6pB,4BAA8B,IACvC,IAAIrqB,GACAQ,GAAa,mDAER,EAAA8pB,kBAAoB,IAC7B,IAAItqB,GAAsCQ,GAAa,yCAC9C,EAAA+pB,eAAiB,IAAM/pB,GAAa,qCACpC,EAAAgqB,oBAAsB,IAAMhqB,GAAa,0CACzC,EAAAiqB,uBAAyB,IAAMjqB,GAAa,6CAC5C,EAAAkqB,qBAAuB,IAAMlqB,GAAa,2CAC1C,EAAAmqB,wBAA0B,IAAMnqB,GAAa,8CAC7C,EAAAoqB,uBAAyB,IAAMpqB,GAAa,6CAC5C,EAAAqqB,uBAAyB,IAClC,IAAI7qB,GAAuCQ,GAAa,8CAC/C,EAAA6e,wBAA0B,IACnC,IAAIrf,GAAsCQ,GAAa,+CAC9C,EAAAsqB,kBAAoB,IAC7B,IAAI9qB,GACAQ,GAAa,yCAER,EAAAuqB,+BAAiC,IAC1C,IAAI/qB,GACAQ,GAAa,sDAER,EAAA6f,uBAAyB,IAClC,IAAIrgB,GACAQ,GAAa,8CAER,EAAAwqB,UAAY,IACrB,IAAIhrB,GACAQ,GAAa,iCAER,EAAAyqB,uBAAyB,IAClC,IAAIjrB,GACAQ,GAAa,8CAER,EAAAiF,sBAAwB,IACjC,IAAIzF,GACAQ,GAAa,6CAER,EAAA8E,0BAA4B,IACrC,IAAItF,GACAQ,GAAa,iDAER,EAAA+D,2BAA6B,IACtC,IAAIvE,GACAQ,GAAa,kDAER,EAAA6E,uBAAyB,IAClC,IAAIrF,GACAQ,GAAa,8CAER,EAAA0qB,2BAA6B,IACtC,IAAIlrB,GACAQ,GAAa,kDAER,EAAA2qB,wBAA0B,IACnC,IAAInrB,GACAQ,GAAa,+CAER,EAAA4qB,uBAAyB,IAClC,IAAIprB,GACAQ,GAAa,8CAER,EAAA6qB,iBAAmB,IAC5B,IAAIrrB,GACAQ,GAAa,wCAER,EAAA4gB,gBAAkB,IAC3B,IAAIphB,GAAsCQ,GAAa,uCAC9C,EAAA8qB,aAAe,IACxB,IAAItrB,GAAsCQ,GAAa,oCAC9C,EAAA+qB,cAAgB,IACzB,IAAIvrB,GAAoDQ,GAAa,qCAC5D,EAAAkG,qBAAuB,IAChC,IAAI1G,GAAsCQ,GAAa,4CAC9C,EAAAgrB,aAAe,IACxB,IAAIxrB,GAAoDQ,GAAa,oCAC5D,EAAAirB,gBAAkB,IAC3B,IAAIzrB,GAAsCQ,GAAa,uCAC9C,EAAAkrB,uBAAyB,IAClC,IAAI1rB,GAAsCQ,GAAa,8CAC9C,EAAAmrB,mBAAqB,IAC9B,IAAI3rB,GAAsCQ,GAAa,0CAC9C,EAAAorB,mBAAqB,IAC9B,IAAI5rB,GAAsCQ,GAAa,0CAC9C,EAAAqrB,gCAAkC,IAC3CrrB,GAAa,sDACJ,EAAAsrB,kBAAoB,IAAMtrB,GAAa,wCACvC,EAAAurB,gBAAkB,IAC3B,IAAI/rB,GAAuCQ,GAAa,uCAC/C,EAAAykB,kBAAoB,IAC7B,IAAIjlB,GACAQ,GAAa,yCAER,EAAAwrB,eAAiB,IAAMxrB,GAAa,qCACpC,EAAAyrB,eAAiB,IAAMzrB,GAAa,qCACpC,EAAA0rB,gBAAkB,IAAM1rB,GAAa,sCACrC,EAAA2rB,eAAiB,IAAM3rB,GAAa,qCA7QrD,CAAiB1B,EAAA,EAAAA,qBAAA,EAAAA,mBAAkB,KAgRnC,SAAiBvvF,GACA,EAAA68G,wBAA0B,IAAM5rB,GAAa,sCAC7C,EAAA6rB,eAAiB,IAAM7rB,GAAa,6BACpC,EAAA8rB,kBAAoB,IAC7B,IAAItsB,GAA4CQ,GAAa,iCACpD,EAAA+rB,iBAAmB,IAAM/rB,GAAa,+BACtC,EAAAgsB,kBAAoB,IAAMhsB,GAAa,gCACvC,EAAAisB,oBAAsB,IAC/B,IAAIzsB,GAAuCQ,GAAa,mCAC/C,EAAAksB,kBAAoB,IAAMlsB,GAAa,gCACvC,EAAAmsB,gBAAkB,IAAMnsB,GAAa,8BAVtD,CAAiBjxF,EAAA,EAAAA,aAAA,EAAAA,WAAU,KAa3B,SAAiB+4F,GACA,EAAAskB,SAAW,IACpB,IAAI5sB,GACAQ,GAAa,yBAER,EAAAqsB,cAAgB,IACzB,IAAI7sB,GACAQ,GAAa,8BAER,EAAAssB,oBAAsB,IAC/B,IAAI9sB,GACAQ,GAAa,oCAXzB,CAAiB8H,EAAA,EAAAA,cAAA,EAAAA,YAAW,KA/hChC,CAAiBtG,QAAS,KG5I1B,MAAM+qB,GAAkB,KAClBC,GAA0B,OAkCzB,SAAS,GACZ59I,EACA69I,EACAC,EACAC,EAAyB,IAEzB,MAAMC,EAA4E,IAAtC,GAAjBH,GACrBI,EAAkF,IAAzC,IAAjBJ,GAK9B,GAJAA,IAAkB,IAId79I,EAAKioG,cAAe,CACpB,IAAIi2C,GAAkB,EAStB,IAR0D,IAApC,GAAjBL,IAGGE,EAAexxE,MAAMhf,GAAMA,IAAMvtD,OAFrCk+I,GAAkB,IAOjBA,EACD,IACIH,EAAe1hJ,KAAK2D,GACpB,IAAImvG,EAAYnvG,EAAKioG,cAAc56F,KACnC,MAAM4gG,EAAajuG,EAAKioG,cAAcmG,eAEtC,GAAIH,EAAY,CACZ,IAAIkwC,EAGAn+I,EAAKioG,cAAcmB,eAE8C,IAA3C,EAAjBy0C,IACD79I,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,IAAa7W,GAAe6W,QAEnE2gC,EAAkB,GAClBn+I,EAAKioG,cAAcmB,cAAc9iF,SAAQ,CAACk3F,EAASryF,KAO3Cm8E,GAJAn8E,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,GAAS8iF,EAAWA,EAAWjyG,OAAS,KAK/EmrG,GAAgBqW,IAChBrL,GAAaqL,IACbA,EAAQzU,mBAERyU,EAAQzU,mBAAmBziF,SAAS83H,IAChCD,EAAiB9hJ,KACb,GACI+hJ,EAAap+I,KACb69I,EACAC,EACAC,OAKZI,EAAiB9hJ,KACb,GAAUmhH,EAASqgC,EAAgBC,EAAoBC,SAON,IAA3C,EAAjBF,IACD5vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Cq7B,EAAkB,GAClBlwC,EAAW3nF,SAASw8F,IAChBq7B,EAAiB9hJ,KACb,GAAUymH,EAAW+6B,EAAgBC,EAAoBC,QAMrEI,IAC+B,IAA3BA,EAAgBniJ,OAChBmzG,GAAa,OAEbA,GAAa,IAAIgvC,EAAgB3hJ,KAAK,UAOlD,GAAsB,KAAlBwD,EAAKs/D,SACL,OAAO6vC,E,QAGX4uC,EAAe9iG,OAK3B,GACI8iG,EAAexxE,MACVhf,I,MACG,OAAAA,IAAMvtD,QACeF,IAApBytD,EAAE06C,eAA+B16C,EAAE06C,cAAc8F,YAA+B,QAAlB,EAAA/tG,EAAKioG,qBAAa,eAAE8F,cAE3FgwC,EAAe/hJ,OAASupG,GAIxB,OAAI8B,GAAUrnG,IAASA,EAAKunG,QAAQyD,eAAiBhrG,EAAKunG,QAAQW,uBACvDloG,EAAKunG,QAAQW,uBAGpBloG,EAAKioG,cACEjoG,EAAKioG,cAAc56F,KAGvB,MAGX,IACI0wI,EAAe1hJ,KAAK2D,GAEpB,MAAMq+I,EAA8F,IAA9C,GAAjBR,GAC/BS,EAA2Bx3C,QACAhnG,IAAtBgnG,EAAQ+B,WAA2Bw1C,EAA8B,IAAM,GAGlF,OAAQr+I,EAAKs/D,UACT,KAAK,EACD,MAAO,UAGX,KAAK,EACD,OAAiE,IAAxC,EAAjBu+E,GAA6D,MAAQ,UAGjF,KAAK,EACD,MAAO,WAAW79I,EAAKgsE,eAG3B,KAAK,EACD,OAAIw5B,GAASvmG,WAAWe,QACMF,IAAtBE,EAAK0sG,aACE,WAAW6xC,GAAkBv+I,MAGjC,GAAG,GACNA,EACA69I,EACAC,EACAC,KACAO,EAAwBt+I,UAEFF,IAAtBE,EAAK0sG,aACE,gBAAgB6xC,GAAkBv+I,OAAUs+I,EAAwBt+I,KAGxE,QAAQ,GACXA,EACA69I,EACAC,EACAC,MACCO,EAAwBt+I,KAIrC,KAAK,EAAuB,CAGxB,MAAM9D,EAAQ,GAAmB8D,EAAM69I,EAAgBC,EAAoBC,GACrES,EAAiB,IAAItiJ,EAAM,GAAGM,KAAK,SACzC,GAAIqpG,GAAaoO,iBAAiBj0G,GAC9B,OAAOw+I,EAEX,MAAMC,EAAgB,GAAGD,QAAqBtiJ,EAAM,KAEpD,OAAI+hJ,EACO,IAAIQ,KAGRA,EAGX,KAAK,EAKD,MAAO,YAJgBz+I,EACUuqG,UAAUzlF,KAAKu7F,GAC5C,GAAUA,EAAUw9B,EAAgBC,EAAoBC,KAE/BvhJ,KAAK,SAGtC,KAAK,EAAoB,CAIrB,MAAMkiJ,EAAoB,IAAI5sG,IAIxB6sG,EAAiB,IAAI7sG,IAGrB8sG,EACe,EAAjBf,EACuB,IAAjBA,EACAA,EAGV,GAA0D,IAApC,GAAjBA,IAA0D79I,EAAKysG,iBAChE,IAAK,MAAMyK,KAAmBl3G,EAAKysG,iBAAkB,CACjD,IAAIoyC,GAAqB,EACrBC,GAA+B,EACnC,MAAMC,EAA4B,IAAIjtG,IAEtC,IAAK,MAAMktG,KAAiB9nC,EAAgBrQ,SAAU,CAClD,IAAIo4C,EAAoB,EACpBC,GAAa,EAEjB,IAAK,MAAMC,KAAgBn/I,EAAK6mG,SAAU,CACtC,GACIuB,GACI42C,EACAG,OAC0Br/I,GACJ,GAE5B,CACO4+I,EAAkBt5H,IAAI65H,KACvBH,GAA+B,GAEnCC,EAA0Bn4H,IAAIq4H,GAC9BC,GAAa,EACb,MAGJD,IAGJ,IAAKC,EAAY,CACbL,GAAqB,EACrB,OAIJA,IAAuBC,IACvBH,EAAe/3H,IACX,GAAUswF,EAAiB0nC,EAAuBd,EAAoBC,IAE1EgB,EAA0Bz4H,SAAS6E,GAAUuzH,EAAkB93H,IAAIuE,MAK/E,MAAMi0H,EAAYp/I,EAAK6mG,SAAStW,WAAWuW,GAAYR,GAAeQ,KACtE,GAAIs4C,GAAa,IAAMV,EAAkBt5H,IAAIg6H,GAAY,CACrD,MAAMC,EAAkBzzC,GAAoB5rG,GAC5C,GAAIqmG,GAAQg5C,GACR,MAAO,OAGX,MAAMC,EAAe,GACjBD,EACAT,EACAd,EACAC,GAGJ,OAAqB,EAAjBF,EACOyB,EAAe,UAGnB,YAAcA,EAAe,IAGxC,MAAMC,EAAuB,IAAIztG,IAC3B0tG,EAAsB,IAAI1tG,IAChCsrE,GAAiBp9G,GAAM,CAAC8mG,EAAS37E,KACxBuzH,EAAkBt5H,IAAI+F,KACnBg8E,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,aACpC6yC,EAAqB34H,IAAI23H,GAAkBz3C,IACpCI,GAAoBJ,SAAqChnG,IAAzBgnG,EAAQ4F,aAC/C8yC,EAAoB54H,IAAI23H,GAAkBz3C,IAE1C63C,EAAe/3H,IACX,GAAUkgF,EAAS83C,EAAuBd,EAAoBC,QAM9E,MAAM0B,EAAkC,GAGxC,GAFAd,EAAer4H,SAAS9W,GAAMiwI,EAAsBpjJ,KAAKmT,KAErD+vI,EAAqBj/I,KAAO,EAAG,CAC/B,MAAMo/I,EAA2B,GACjCH,EAAqBj5H,SAAS9W,GAAMkwI,EAAerjJ,KAAKmT,KACxDiwI,EAAsBpjJ,KAAK,WAAWqjJ,EAAeljJ,KAAK,UAG9D,GAAIgjJ,EAAoBl/I,KAAO,EAAG,CAC9B,MAAMo/I,EAA2B,GACjCF,EAAoBl5H,SAAS9W,GAAMkwI,EAAerjJ,KAAKmT,KACvDiwI,EAAsBpjJ,KAAK,gBAAgBqjJ,EAAeljJ,KAAK,WAGnE,GAAqC,IAAjCijJ,EAAsBzjJ,OACtB,OAAOyjJ,EAAsB,GAGjC,GAAqB,EAAjB5B,EAAwC,CACxC,MAAM8B,EAAcF,EAAsBjjJ,KAAK,OAC/C,OAAIwhJ,EACO,IAAI2B,KAERA,EAGX,MAAO,SAASF,EAAsBjjJ,KAAK,SAG/C,KAAK,GAAsB,CAKvB,GAAIwD,EAAKunG,QAAQyD,cAAe,CAG5B,GAAIhrG,EAAKunG,QAAQW,uBACb,OAA0D,IAApC,GAAjB21C,IAA0D79I,EAAKunG,QAAQY,UACjE,GACH3C,GAASvmG,WAAWe,GACdy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UACnB01C,EACAC,EACAC,GAGD/9I,EAAKunG,QAAQW,uBAMxB,GAAIloG,EAAKunG,QAAQ2Q,mBAAqBl4G,EAAKunG,QAAQY,UAAW,CAC1D,IAAIy3C,EAAkB,GAClB5/I,EAAKunG,QAAQY,WACI,GAAjB01C,EACAC,EACAC,GAOJ,OAJKp3C,GAAe3mG,EAAKunG,QAAQY,aAC7By3C,EAAkB,QAAQA,KAG1Bp6C,GAASgB,eAAexmG,GACjB,QAAQ4/I,KAGZA,EAGX,OAAiE,IAAxC,EAAjB/B,GAA6D,MAAQ,UAGjF,GAAI79I,EAAKunG,QAAQM,YACb,OAAI7nG,EAAK+3G,gBACE,GAAG/3G,EAAKunG,QAAQl6F,QAAQrN,EAAK+3G,kBAEjC,GAAG3R,GAAYmS,gBAAgBv4G,KAG1C,IAAI02G,EAActQ,GAAYmS,gBAAgBv4G,GAM9C,OAJIA,EAAK0nG,qBACLgP,EAAc,IAAIA,KAGlBlR,GAASgB,eAAexmG,GACjB,QAAQ02G,KAGZA,EAGX,KAAK,EACD,MAAO,GAAGlR,GAASgB,eAAexmG,GAAQ,aAAe,SAASs+I,EAAwBt+I,KAG9F,KAAK,EACD,OAAOA,EAAKosG,WAAa,WAAa,QAG1C,KAAK,EAED,OADgBpsG,EACDq2G,WAAa,MAAQ,MAI5C,MAAO,G,QAEP0nC,EAAe9iG,OAIhB,SAASsjG,GAAkBv+I,EAAiB6/I,EAAY,KAC3D,MAAMnzC,EAAe1sG,EAAK0sG,aAC1B,QAAqB5sG,IAAjB4sG,EACA,MAAO,GAGX,IAAIozC,EACJ,GAA4B,iBAAjBpzC,EAA2B,CAClC,MAAMxiD,EAA+B,UAAtBlqD,EAAKunG,QAAQl6F,KAAmB,IAAM,GAIrDyyI,EAAa9vI,KAAKC,UAAUy8F,GAAclsG,WACxB,MAAdq/I,IACAC,EAAa,IAAIA,EACZt4G,UAAU,EAAGs4G,EAAW9jJ,OAAS,GACjC2K,QAAQi3I,GAAyB,KACjCj3I,QAAQg3I,GAAiB,WAG9BzzF,IACA41F,EAAa,GAAG51F,IAAS41F,SAEE,kBAAjBpzC,EACdozC,EAAapzC,EAAe,OAAS,QAC9BA,aAAwBtH,GAC/B06C,EAAa,GAAGpzC,EAAahc,aAAagc,EAAarH,WACxB,iBAAjBqH,GACdozC,EAAapzC,EAAalsG,WACtBs/I,EAAW7kF,SAAS,OACpB6kF,EAAaA,EAAWt4G,UAAU,EAAGs4G,EAAW9jJ,OAAS,KAG7D8jJ,EAAapzC,EAAalsG,WAG9B,OAAOs/I,EAGJ,SAAS,GACZ9/I,EACA69I,EACAC,EACAC,EAAyB,I,QAEzB,IAAIgC,EAAU//I,EAAKmvG,WAAanvG,EAAKunG,QAAQl6F,KAI7C,IAAKu4F,GAAUkD,qBAAqB9oG,GAAO,CACvC,MAAMiuG,EAAarI,GAAUyM,kBAAkBryG,GACzCggJ,EAAgB/xC,EAAWjyG,OAAS,EAAIiyG,EAAWA,EAAWjyG,OAAS,QAAK8D,EAC5E0nG,IAAaw4C,GAAgBA,EAAcz4C,QAAQC,WAGnD0G,EACqB,QAAvB,EAAAluG,EAAK+oG,0BAAkB,QACL,QAAlB,EAAA/oG,EAAKopG,qBAAa,eAAEtkF,KAAKyoC,IACd,CAAEvtD,KAAMutD,EAAG27C,aAAa,MAEvC,GAAIgF,EAEA,GAAIA,EAASlyG,OAAS,EAAG,CACrB,MAAMikJ,EAA2B,GACjC,IAAIC,GAAW,EAEfhyC,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACvB,MAAM23F,EAAY33F,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,QAASrrB,EAClE,GACIgjH,GACAA,EAAUvb,QAAQC,YAClBL,GAAgBqW,EAAQx9G,OACxB4lG,GAAUqH,UAAUuQ,EAAQx9G,KAAM,UAClCw9G,EAAQx9G,KAAK+oG,mBAGkC,IAA3CyU,EAAQx9G,KAAK+oG,mBAAmB/sG,QAC3B2qG,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGfD,EAAe5jJ,KAAK,OAEpB4jJ,EAAe5jJ,QACRmhH,EAAQx9G,KAAK+oG,mBAAmBjkF,KAAK04F,IAC/B7W,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGf,MAAMC,EAAc,GAChB3iC,EAAQx9G,KACR69I,EACAC,EACAC,GAEJ,OAAIvgC,EAAQtU,YACD,UAAUi3C,UAGdA,UAIhB,CACEx5C,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGf,MAAME,EAAkB,GACpB5iC,EAAQx9G,KACR69I,EACAC,EACAC,GAGAvgC,EAAQtU,YACgB,IAApBgF,EAASlyG,OACTikJ,EAAe5jJ,KAAK+jJ,EAAiB,OAErCH,EAAe5jJ,KAAK,UAAU+jJ,WAGlCH,EAAe5jJ,KAAK+jJ,OAK5BpgJ,EAAK4nG,aACLm4C,EAAU,IAAMA,GAG6C,IAA3C,EAAjBlC,IAAkEqC,IACnEH,GAAW,IAAME,EAAezjJ,KAAK,MAAQ,UAG7CopG,GAAUuM,aAAanyG,IAASwnG,KAChCu4C,GAAW,aAIf9xC,EAAWjyG,OAAS,IAE6C,IAA3C,EAAjB6hJ,IACD5vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Ci9B,GACI,IACA9xC,EACKnpF,KAAKg+F,GACK,GAAUA,EAAW+6B,EAAgBC,EAAoBC,KAEnEvhJ,KAAK,MACV,KAMpB,OAAOujJ,EAGJ,SAAS,GACZ//I,EACA69I,EACAC,EACAC,EAAyB,IAEzB,MAAMsC,EAA6B,GACnC,IAAIC,GAAiB,EAErBtgJ,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KAEpC,GACIA,IAAUnrB,EAAKunG,QAAQljE,WAAWroC,OAAS,GACxB,IAAnBooB,EAAMk7C,UACNgoC,GAAkBljF,EAAMpkB,MAC1B,CACE,MAAMugJ,EAAuB16C,GAAamE,0BAA0BhqG,EAAMmrB,GAC1E,GACIg8E,GAAgBo5C,IAChB36C,GAAUqH,UAAUszC,EAAsB,UAC1CA,EAAqBx3C,mBAMrB,YAJAw3C,EAAqBx3C,mBAAmBziF,SAAS08F,IAC7C,MAAMw9B,EAAc,GAAUx9B,EAAUhjH,KAAM69I,EAAgBC,EAAoBC,GAClFsC,EAAiBhkJ,KAAKmkJ,MAMlC,IAAIA,EAAc,GACK,IAAnBp8H,EAAMk7C,SACDl7C,EAAM/W,MAAS+W,EAAM2vF,oBACtBysC,GAAe,KAEO,IAAnBp8H,EAAMk7C,WACbkhF,GAAe,MAGfp8H,EAAM/W,OAAS+W,EAAM2vF,oBACrBysC,GAAep8H,EAAM/W,KACrBizI,GAAiB,GAGrB,IAAIG,EAAyB,IACzBC,GAA6B,EAEjC,GAAIt8H,EAAM/W,KAEN,GAAI+W,EAAM4vF,iBAAmB5vF,EAAMkvF,eAAgB,CAC/C,MAAM0P,EAAYnd,GAAamE,0BAA0BhqG,EAAMmrB,GACzDw1H,EACF5C,EAAe/hJ,OAASupG,GAClB,GAAUyd,EAAW66B,EAAgBC,EAAoBC,GACzD,GAEL35H,EAAM2vF,kBAEmB,IAAnB3vF,EAAMk7C,UAA8CsoC,GAAWob,KACtEw9B,GAAe,KAFfA,GAAe,KAKI,IAAnBp8H,EAAMk7C,UAAmDsoC,GAAWob,KACpEw9B,GAAe,MAGnBA,GAAeG,EAEX94C,GAAYmb,KAEW,IAAnB5+F,EAAMk7C,UACa,IAAnBl7C,EAAMk7C,WAENohF,GAA6B,IAMrCD,EAAyB,WAC2C,IAA3C,EAAjB5C,KACHz5H,EAAM2vF,oBACPysC,GAAe,MAEnBA,GAAe,UACfC,EAAyB,YAE1B,GAAuB,IAAnBr8H,EAAMk7C,SAAuC,CACpD,IAAIghF,EAGA,OAFAE,GAAe,IAkBvB,GAZIp8H,EAAM0vF,aACF1vF,EAAMw8H,uBACNJ,GAAeC,EAAyB,GAA+Br8H,EAAMw8H,wBAK7EJ,GAAeC,EAAyB,OAK5C56C,GAAa+P,uCAAuC51G,KAAU0gJ,EAC9D,GAAuB,IAAnBt8H,EAAMk7C,SACNkhF,EAAc,WACX,GAAuB,IAAnBp8H,EAAMk7C,SACb,OAIR+gF,EAAiBhkJ,KAAKmkJ,MAGtBxgJ,EAAKunG,QAAQqM,WACbysC,EAAiBhkJ,KACb,KAAK,GAAU2D,EAAKunG,QAAQqM,UAAWiqC,EAAgBC,EAAoBC,MAInF,MAAM3zC,EAAa0zC,EAAmB99I,GAChC6gJ,EACF9C,EAAe/hJ,OAASupG,GAClB,GACI6E,EACiB,IAAjByzC,EACAC,EACAC,GAEJ,GAEV,MAAO,CAACsC,EAAkBQ,GCpuBvB,MAAMC,WAAgC,GAmEzC7zI,YACY8zI,EACAhnC,EACA0Q,EACAu2B,EACAC,EACAC,GAAwC,GAEhDh0I,QAPQ,KAAA6zI,cACA,KAAAhnC,gBACA,KAAA0Q,aACA,KAAAu2B,qBACA,KAAAC,gBACA,KAAAC,wCATJ,KAAAC,SAA+B,GAC/B,KAAAC,oBAAsB,IAAItvG,IAc9B9wC,KAAKqgJ,mBAAmBrgJ,KAAKigJ,eA9EjC,uBACIv4E,EACAoqD,EACAwuB,EACAC,EACA/kD,GAAuC,GAEvC,MAAM1oC,EAAa4U,EAAKpqE,MAClBkjJ,EAAexgJ,KAAKygJ,uBACtB/4E,EACAoqD,GACuB,EACvBwuB,GAIJ,OADAC,EAAeA,UAAgBlmD,GAAc3yB,IAK3B,IAAIo4E,GAClBhtF,EACA0tF,EACA1uB,EACAwuB,EACAC,EACA/kD,GAGaklD,UAZN,GAef,8BACIh5E,EACAoqD,EACA6uB,EACA3/H,EACA+1G,GAEA,GAA6B/1G,GAE7B,MAAMw/H,EAAexgJ,KAAK4gJ,wBAAwBl5E,EAAMoqD,GAElD+uB,EAAsC,GAiB5C,OAhBAL,EAAal7H,SAAS4iD,IAClB,MAAMklD,EAAe0E,EAAUzE,wBAAwBnlD,EAAMy4E,GAC7D,GAAIvzB,IACAyzB,EAAqBxlJ,KAAK+xH,GAEtB2J,GAAgBniD,GAAWw4C,EAAar+G,OAAO,CAC/C,MAAM4oH,EAAYZ,EAAa9M,iBAAiBmD,GAChD,IAAK,MAAMX,KAAYkL,EACflL,GAAYA,EAAS19G,MACrB/O,KAAK8gJ,aAAaD,EAAsBp0B,OAOrDo0B,EAqBXH,UAEI,OADA1gJ,KAAK+vF,KAAK/vF,KAAKigJ,eACRjgJ,KAAKmgJ,SAGPpwD,KAAKroB,GACL,GAAmCA,IACpCx7D,MAAM6jF,KAAKroB,GAIVorB,UAAUprB,GAIf,GAHA,GAA6B1nE,KAAKggJ,oBAG9Bt4E,EAAKpqE,QAAU0C,KAAK+/I,YACpB,OAAO,EAGX,GAAI//I,KAAK+4G,cAAc/9G,OAAS,EAAG,CAC/B,MAAMwlJ,EAAeV,GAAwBc,wBAAwBl5E,EAAM1nE,KAAKypH,YAE5E+2B,GAAgBA,EAAaxlJ,OAAS,GAElCwlJ,EAAa/xF,MAAMyZ,GAASloE,KAAK+gJ,4BAA4B74E,MAC7DloE,KAAKghJ,WAAWt5E,QAKxB1nE,KAAKghJ,WAAWt5E,GAGpB,OAAO,EAGFqsB,YAAYrsB,GAOjB,OANA,GAA6B1nE,KAAKggJ,oBAE9BhgJ,KAAKogJ,oBAAoBh8H,IAAIsjD,IAC7B1nE,KAAKghJ,WAAWt5E,IAGb,EAGHs5E,WAAWt5E,GACf,MAAMj7D,EAAqC,KAAlBi7D,EAAKjB,SAAkCiB,EjBy0DjE,SAAiCA,GACpC,OAGG,SAA6B1mD,GAChC,MAAMhmB,EAASgmB,EAAMigI,gBACfC,IAA4B,MAAdlgI,EAAMkoD,OAC1B,OAAO1E,GAAUryD,OAAO6O,EAAMllB,MAAQd,EAAQgmB,EAAMhmB,OAASA,GAAUkmJ,EAAYlmJ,EAAS,IANrFmmJ,CAAoBz5E,EAAK1mD,OiB10D2CogI,CAAwB15E,GAC/F1nE,KAAKmgJ,SAAS9kJ,KAAK,CAAEqsE,OAAMj7D,UAGvBs0I,4BAA4B/4E,GAEhC,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAAO,EAKX,GACIptH,KAAK+4G,cAActqD,MAAMyZ,GACrBmzB,GAAoBnzB,EAAMklD,EAAcptH,KAAKkgJ,yCAGjD,OAAO,EAKX,MAAMmB,EAAuBrhJ,KAAKshJ,4BAA4Bl0B,GAC9D,SAAKi0B,GAAwBA,IAAyBj0B,IAI/CptH,KAAK+4G,cAActqD,MAAMyZ,GAC5BmzB,GAAoBnzB,EAAMm5E,EAAsBrhJ,KAAKkgJ,yCAIrDoB,4BAA4Bt5E,GAIhC,GAAIu5E,EAAiCv5E,GACjC,OAAOi0B,GAAwC,CAACj0B,IAAc,GAGlE,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,OAAOu5E,EAAiCn0B,GAClCnxB,GAAwC,CAACmxB,IAAe,GACxDA,EAEN,SAASm0B,EAAiCr5E,GACtC,QACMA,GACY,IAAdA,EAAKlpE,MACLkpE,EAAKR,MACLQ,EAAKuzB,eACkB,KAAvBvzB,EAAKR,KAAKjB,UAKd45E,mBAAmB34E,GACvB,GAAsB,KAAlBA,EAAKjB,SACL,OAGJ,MAAMoC,EAAgB,GAAkCnB,GACxD,IAAKmB,EACD,OAGJ,MAAM24E,EAAc,GAA2B95E,GAC1C85E,GAIL34E,EAAc44E,YAAYn8H,SAASo8H,IAC/B,GAAIA,EAAWpkJ,QAAU0C,KAAK+/I,YAC1B,OAGJ,MAAM4B,EAAgBH,EAAYI,sBAAsBF,EAAWpkJ,OAC9DqkJ,GAIAA,EAAchnE,OAAOy+B,kBAAkB3qD,MAAMlgD,GAAMvO,KAAK+gJ,4BAA4BxyI,MAIzFvO,KAAKogJ,oBAAoBx6H,IAAI87H,MAI7B,oBAAoBlB,EAA6BqB,GACrD,IAAK,MAAMn1F,KAAO8zF,EACd,GAAInlD,GAAoB3uC,EAAKm1F,GACzB,OAIRrB,EAAanlJ,KAAKwmJ,GAGd,+BAA+Bn6E,EAAgBoqD,G,gBAGnD,GAAyB,MAAV,QAAX,EAAApqD,EAAKviC,cAAM,eAAEshC,UAAuC,CACpD,IAAIy1B,EAAQ41B,EAAUlG,2BAA2BlkD,IAAS,GAS1D,GAPyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,YAEby1B,EAAQA,EAAMrzC,QAAQt6C,GAAMA,EAAEm5D,OAASA,EAAKviC,UAK3B,IAAjB+2D,EAAMlhG,OAAc,CACpB,MAAMgE,EAAO8yH,EAAUvE,QAAQ7lD,GAC/B,GAAkB,KAAd1oE,aAAI,EAAJA,EAAMs/D,UAEN,MAAO,CAAC+9B,GAAkCr9F,EAAK68D,WAQvD,IAAK,MAAMimF,KAAa5lD,EAAMrzC,QAAQt6C,GAAMw3E,GAAmBx3E,KAAOA,EAAE+tF,sBAAsB,CAC1F,MAAM50B,EAAQo6E,EAA+Bp6E,KACvB,KAAlBA,EAAKjB,UAKTy1B,EAAM7gG,QAASy2H,EAAUlG,2BAA2BlkD,EAAK51D,OAAO49D,UAAU,KAAO,IAGrF,OAAOwsB,EAKX,MAAMlxB,EAAatD,EAAKviC,OACxB,GAC+B,MAAV,QAAjB,EAAA6lC,EAAW7lC,cAAM,eAAEshC,WACQ,MAAV,QAAjB,EAAAuE,EAAW7lC,cAAM,eAAEshC,UACrB,CACE,MAAMt8C,EAAQ6gD,EAAW0E,UAAU6f,WAAW/uF,GAAMA,IAAMknE,IAG1D,GAAc,IAAVv9C,EAAa,CAEb,IAAI+xE,EAAuB,GAG3B,MAAM6lD,EAC8B,IAAhC/2E,EAAW0E,UAAU10E,QACU,KAA/BgwE,EAAW7lC,OAAOshC,YAChBuE,EAAW7lC,OAAOgnC,MAGlBQ,EAAao1E,EACZ/2E,EAAW7lC,OAAwBgnC,MAAO7uE,MAC3C0tE,EAAW0E,UAAU,GAAGpyE,MAKxB0kJ,EAAkD,QAAhC,KAA2Bt6E,UAAK,eAAEk6E,sBAAsBj1E,GAoChF,OAnCIq1E,GAAmD,IAAhCh3E,EAAW0E,UAAU10E,SACxCkhG,EAAM7gG,QAAQ2mJ,EAAgBrnE,OAAOy+B,kBAAkBvwD,QAAQt6C,GAAMw3E,GAAmBx3E,MAGpF2tF,EAAMlhG,OAAS,IACfkhG,EAAQA,EAAMrzC,QAAQt6C,QAGMzP,KAFxByP,EAAIA,GAEEmvE,cAKKnvE,EAAEmvE,gBAAkB1S,EAAW0E,UAAU,GAAGpyE,MAGhDiR,EAAEm5D,OAASsD,EAAW7lC,UAMjC48G,IACA7lD,EAAQD,GAAwCC,KAMxDA,EAAM7gG,SAEsD,QADpD,EAAAy2H,EACClG,2BAA2B5gD,EAAW0E,UAAU,WAAG,eAClD7mB,QAAQt6C,GAAMw3E,GAAmBx3E,OAAO,IAG3C2tF,EAGX,OAAI/xE,EAAQ,GAOD2nG,EAAUlG,2BAA2B5gD,EAAW0E,UAAUvlD,KAG9D,GAGX,MAAO,IC7VR,SAAS83H,GACZjjJ,EACA8yH,EACAowB,EAAkB,IAElB,IAAIv8G,EAAU,GACd,MAAM4jE,EAAYvqG,EAAKuqG,UAClB1gD,QAAQz2C,GAAMyyF,GAAayP,aAAaliG,KACxC0R,KAAK1R,GAAMA,EAAEm0F,QAAQl6F,KAAOylH,EAAUuC,UAAUjiH,GAAyB,KAE9E,IAAK,IAAI9X,EAAI,EAAGA,EAAIivG,EAAUvuG,OAAQV,IACxB,IAANA,GAAWivG,EAAUjvG,GAAGU,OAASknJ,GAAmB34C,EAAUjvG,EAAI,GAAGU,QAAUknJ,IAC/Ev8G,GAAW,MAGfA,GAAW4jE,EAAUjvG,GAEjBA,EAAIivG,EAAUvuG,OAAS,IACvB2qC,GAAW,KACP4jE,EAAUjvG,GAAGU,OAASknJ,IACtBv8G,GAAW,OAKvB,OAAOA,EAGJ,SAASw8G,GAA6BnjJ,EAAoB+3H,EAA4BjF,GACzF,MAAM5pD,EAAOlpE,EAAKunG,QAAQv+B,YACpBgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHCG,SACHE,EACAouH,EACA2J,EACA9oB,GAEA,IAAI5Q,EAUJ,IALKw5B,GAAuB73H,EAAMivG,IAAcmf,GAAgBznC,GAAsBynC,KAClF/vB,EAiPR,SAA+Br+F,EAAYouH,EAA+C2J,GACtF,IAAKjwB,GAAW9nG,GACZ,OAGJ,IAAIq+F,EAAYr+F,EAAKunG,QAAQlJ,UAS7B,OARKA,GAAa+vB,IACd/vB,EAAY+5B,GAAqChK,EAAc2J,KAG9D15B,GAAar+F,EAAKunG,QAAQv+B,cAC3Bq1B,EAAY+5B,GAAqCp4H,EAAKunG,QAAQv+B,YAAa+uD,IAGxE15B,EA/PS+kD,CAAsBpjJ,EAAMouH,EAAc2J,KAIrD15B,GAAa4Q,EAAW,CACzB,MACMo0C,EAAiBvhC,GAAuB7S,EAD7BjvG,EAAKunG,QAAQl6F,KAxClC,IA2CI,IAAK,MAAMi2I,KAAeD,EAEtB,GADcC,EAAY3nE,OAAOy+B,kBACvBp+G,OAAS,EAAG,CAClB,MAAMunJ,EAAgBD,EAAY3nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GACrE,GAAI+nF,GAAsB48D,KACtBllD,EAAY+5B,GAAqCmrB,EAAexrB,GAC5D15B,GACA,OAOpB,OAAOA,GAAar+F,EAAKunG,QAAQlJ,UGnC1BmlD,CAA8BxjJ,EAAMkpE,EAAM6uD,EAAc3K,aAAY,EAAZA,EAAcne,WAG1E,SAASw0C,GACZzjJ,EACA+3H,EACAjF,GAEA,GAA8B,IAA1B9yH,EAAKuqG,UAAUvuG,OACf,MAAO,GAGX,MAAMktE,EAAOlpE,EAAKuqG,UAAU,GAAGhD,QAAQv+B,YACjCgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHsBG,SACHE,EACA0jJ,EACA3rB,EACAjF,EACA7jB,GAEA,IAAI6pB,EAKJ,IAAKjB,GAAuB73H,EAAMivG,GAC9B,IAAK,MAAMmf,KAAgBs1B,EAEvB,GADA5qB,EAAaG,GAAiCj5H,EAAMouH,EAAc2J,GAC9De,GAAcA,EAAW98H,OAAS,EAClC,OAAO88H,EAMnB,GAAI7pB,GAAajvG,EAAKuqG,UAAUvuG,OAAS,EAAG,CACxC,MACMqnJ,EAAiBvhC,GAAuB7S,EAD7BjvG,EAAKuqG,UAAU,GAAGhD,QAAQl6F,KAnF/C,IAsFI,IAAK,MAAMi2I,KAAeD,EAAgB,CACtC,MAAME,EAAgBD,EAAY3nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GAC/D+kJ,EAAW7wB,EAAUoF,sBAAsBqrB,GACjD,GAAII,IACA7qB,EAAaG,GAAiC0qB,EAAUJ,EAAexrB,GACnEe,GAAcA,EAAW98H,OAAS,GAClC,OAMhB,OAAO88H,UAAc,GG5Dd8qB,CACH5jJ,EACAA,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GACxD2oE,EACAjF,EACA1F,aAAY,EAAZA,EAAcne,WAIf,SAAS40C,GACZ9rB,EACA/3H,EACAouH,EACA0E,GAEA,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,OAAqCouH,EAAarxB,eAAiBqxB,EAAa/vB,UAC9F,MAAO,CAAC+vB,EAAa/vB,WAClB,GAAI+I,GAASpnG,GAAO,CACvB,MAAMg5H,EAAMV,GAAmBt4H,EAAMouH,EAAc2J,GACnD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAI9xB,GAAoBlnG,GAAO,CAClC,MAAMg5H,EAAMP,GAAkBz4H,EAAMouH,EAAc2J,GAClD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAIlxB,GAAW9nG,GAAO,CACzB,MAAMg5H,EAAMmqB,GAA6BnjJ,EAAM+3H,EAAcjF,GAC7D,GAAIkG,EACA,MAAO,CAACA,OAET,IAAIjxB,GAAqB/nG,GAC5B,OAAOyjJ,GAAwCzjJ,EAAM+3H,EAAcjF,GAChE,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,MAAmC,CACxD,MAAMg5H,EAAMH,GAAqBzK,EAAc2J,GAC/C,GAAIiB,EACA,MAAO,CAACA,QAET,GAAsB,KAAlB5K,aAAY,EAAZA,EAAcpuH,MAAmC,CAExD,MAAMg5H,EAAMlB,GAA8B1J,EAAc2J,EAAcjF,GACtE,GAAIkG,EACA,MAAO,CAACA,IAIhB,MAAO,GCTX,IAAU8qB,GAsDLC,IAtDL,SAAUD,GACN,MAAMrxI,EAAiB,CAEnB,OACA,QACA,OACA,MACA,KACA,MACA,KACA,SACA,QAGA,SACA,QACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,WACA,OACA,QACA,SACA,MACA,QACA,QAGEuxI,EAAsB,IAAIvxI,EAAM,QAAS,SAEzCwxI,EAAuB,IAAID,EAAW,OAAQ,SAEpC,EAAAE,WAAhB,SAA2B1lI,GACvB,OAAIA,GAAW4+C,GAAcE,MAClB2mF,EAEPzlI,GAAW4+C,GAAc+mF,KAClBH,EAEJvxI,GAlDf,CAAUqxI,QAAQ,KAsDlB,SAAKC,GAKD,qCAGA,uDAGA,2CAGA,mCAGA,uCAGA,qDAGA,2CAGA,yBAGA,+BAGA,mCAIA,sCAGA,oCAGA,gCA1CJ,CAAKA,QAAY,KA+IV,MACMK,GAAsB,iBAS5B,MAAMC,GAYTp3I,YACYq3I,EACAC,EACAC,EACAj6B,EACAk6B,EACAC,EACArwE,EACAswE,EACAl6B,EACAljG,EACAq9H,EACAC,EACA7D,GAZA,KAAAsD,iBACA,KAAAC,gBACA,KAAAC,gBACA,KAAAj6B,kBACA,KAAAk6B,YACA,KAAAC,YACA,KAAArwE,iBACA,KAAAswE,gBACA,KAAAl6B,aACA,KAAAljG,WACA,KAAAq9H,gBACA,KAAAC,kBACA,KAAA7D,qBAfJ,KAAA8D,sBAAuB,EAiB3B9jJ,KAAKwpH,SAAWxpH,KAAKqzE,eAAe0wE,oBAAoB/jJ,KAAK0jJ,WAGjEM,4B,QACI,MAAMtiJ,EAAS,GAAwB1B,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OAC1F,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMsf,EnBynCP,SAA6BsjD,EAAoC7nC,GACpE,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,GAAItS,EAAQ,EACR,OAGJ,MAAMnJ,EAAQsjD,EAAOgB,UAAUn7C,GAC/B,OAAOq6C,GAAUoB,SAAS5kD,EAAOyb,GAAYzb,OAAQliB,EmBhoCnC,CAAmCkB,KAAKujJ,cAAcp2E,gBAAgB7I,OAAQ5iE,GAC7E,KAAXsf,aAAK,EAALA,EAAOhiB,QACPgB,KAAK8jJ,uBAAuBt/E,GAAUsB,SAAS9kD,EAAOtf,OAEjB,MAA9Bsf,EAAsBkoD,QAKjC,IAAIxB,EAAO,GAAgC1nE,KAAKujJ,cAAcr5E,UAAWxoE,GAKzE,MAAMuiJ,EAAcv8E,EACdw8E,EAAex8E,EAAO,GAA4BA,GAAQ,EAEhE,IAAKu8E,GAAwC,KAAzBA,EAAYx9E,SAAiC,CAC7D,IAAI09E,EAAYziJ,EACZ0iJ,GAAW,EAEf,KAAOD,GAAa,GAAG,CACnBA,IAGA,MAAME,EAAUrkJ,KAAKwjJ,cAAcxhJ,OAAOmiJ,EAAW,GACrD,GAAgB,MAAZE,GAA+B,OAAZA,GAAgC,MAAZA,EACvC,MAEY,MAAZA,IACAD,GAAW,GAGf,MAAMn7E,EAAU,GAAgCjpE,KAAKujJ,cAAcr5E,UAAWi6E,GAC9E,GAAIl7E,GAAWA,IAAYg7E,EAAa,CAChC,GAA4Bh7E,GAAWi7E,IACvCx8E,EAAOuB,EAIHm7E,GAAiC,MAAV,QAAX,EAAA18E,EAAKviC,cAAM,eAAEshC,YACzBiB,EAAOA,EAAKviC,SAGpB,QAKZ,QAAarmC,IAAT4oE,EACA,OAIJ,MAAM48E,EAAgBtkJ,KAAKujJ,cAAcp2E,gBAAgB3lB,MAAM8d,UAAUtlE,KAAKyjJ,UAAUvpH,MAClFqqH,EAAavkJ,KAAKwjJ,cAAcxhJ,OAAOsiJ,EAAcxoJ,MAAOwoJ,EAActpJ,QAC1EwpJ,EAAYD,EAAWviJ,OAAO,EAAGhC,KAAKyjJ,UAAUtpH,WAChDsqH,EAAWF,EAAWviJ,OAAOhC,KAAKyjJ,UAAUtpH,WAC5CuqH,EAAiBF,EAAUvgD,OAAO,QAClC0gD,EAAYD,GAAkB,EAAIF,EAAUxiJ,OAAO0iJ,GAAkB,GAG3E,GAAI1kJ,KAAK4kJ,iBAAiBljJ,GACtB,OAKJ,IAAImjJ,EAAmCn9E,EACvC,KAAOm9E,GACwB,IAAvBA,EAAUp+E,UAIdo+E,EAAYA,EAAU1/G,OAK1B,IAAI8jC,EAAU47E,GAAan9E,EAC3B,OAAa,CAGT,GAFA,GAA6B1nE,KAAKggJ,oBAET,KAArB/2E,EAAQxC,SACR,OAAOzmE,KAAK8kJ,uBAAuB77E,EAAS07E,EAAWH,EAAWC,GAGtE,GAAyB,KAArBx7E,EAAQxC,UAA8D,KAArBwC,EAAQxC,SACzD,OAGJ,GAAyB,KAArBwC,EAAQxC,SACR,OAAOzmE,KAAK+kJ,4BAA4B97E,GAG5C,GAAyB,IAArBA,EAAQxC,SACR,OAAOzmE,KAAKglJ,+BAA+B/7E,EAAS07E,EAAWH,EAAWC,GAG9E,GAAyB,KAArBx7E,EAAQxC,SACR,OAAOzmE,KAAKilJ,4BAA4Bh8E,EAAQvC,eAAgBi+E,GAGpE,GAAyB,KAArB17E,EAAQxC,SAAuC,CAC/C,MAAMy+E,EAAgB,IAAIC,GAC1B,GAAInlJ,KAAKolJ,kBAAkBn8E,OAA0BnqE,EAAW0lJ,EAAWC,EAAUS,GACjF,MAAO,CAAEA,iBAIjB,MAAMG,EAAkB,GACpBp8E,EAAO,IAGX,GAAIo8E,GACoC,MAAV,QAAtB,EAAAA,EAAgBlgH,cAAM,eAAEshC,UAAuC,CAC/D,MAAM6+E,EAAiBD,EAAgBlgH,OACvC,GAAImgH,EAAeC,oBAAsBD,EAAeC,mBAAmBzpJ,MAAQ4F,EAAQ,CACvF,MAAMwjJ,EAAgB,IAAIC,GAC1B,GACInlJ,KAAKolJ,kBACDE,OACiBxmJ,EACjB0lJ,EACAC,EACAS,GAGJ,MAAO,CAAEA,kBAMzB,GAAyB,KAArBj8E,EAAQxC,SAAiC,CAIzC,MAAMzmD,EAAShgB,KAAKwlJ,uBAAuBv8E,EAASvnE,EAAQijJ,GAC5D,GAAI3kI,QAAqBlhB,IAAXkhB,EACV,OAAOA,EAIf,GAAyB,KAArBipD,EAAQxC,SACR,OAAOzmE,KAAKylJ,0BAA0Bx8E,EAAS07E,GAGnD,GAAI95D,GAAiB5hB,GACjB,OAAOjpE,KAAK0lJ,0BAA0Bz8E,EAAS07E,EAAWH,EAAWC,GAGzE,GAAyB,KAArBx7E,EAAQxC,SAAkC,CAC1C,GACIwC,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,WACdwC,EAAQ9jC,OAAO94B,MAChB48D,EAAQ9jC,OAAO6sD,gBACfxtB,GAAUmB,OAAOsD,EAAQ9jC,OAAO6sD,gBAAkBtwF,GAClDA,GAAUunE,EAAQ9jC,OAAO2mD,YAAYhwF,MAGrC,OAGJ,GACImtE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,YACbwC,EAAQ9jC,OAAO94B,OAAS48D,EAAQ9jC,OAAO94B,KAAK/O,QACV,IAApC2rE,EAAQ9jC,OAAOzlC,UAAU1E,QACzB0G,GAAUunE,EAAQ9jC,OAAO8mD,MAAMnwF,MAG/B,OAGJ,OAAOkE,KAAK2lJ,yBAAyB18E,EAAS07E,EAAWH,EAAWC,GAGxE,GAAyB,KAArBx7E,EAAQxC,SACR,OAAOzmE,KAAK2lJ,yBAAyB18E,EAAS07E,EAAWH,EAAWC,GAGxE,GACyB,KAArBx7E,EAAQxC,UACW,IAAnBwC,EAAQjuE,QACRiuE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,SAGf,OAGJ,IAAKwC,EAAQ9jC,OACT,MAGJ8jC,EAAUA,EAAQ9jC,QAS1BygH,sBAAsBC,GAClB,GAA6B7lJ,KAAKggJ,oBAElC,MAAM8F,EAAqBD,EAAe3mJ,KAEpCk8B,EAAQyqH,EAAezqH,MAC7B,IAAI2qH,EAAiB,GACjBD,EAAmBC,iBACnBA,EAAiBD,EAAmBC,gBAGxC,MAAMC,EAAW3C,GAAmB4C,uBAAuB12D,WACtDvnE,GAASA,EAAKoT,QAAUA,GAASpT,EAAK+9H,iBAAmBA,IAmB9D,GAhBIC,EAAW,IAGX3C,GAAmB4C,uBAAyB5C,GAAmB4C,uBAAuB//H,OAAO8/H,EAAU,IAG1F,IAAbA,GAEA3C,GAAmB4C,uBAAuBz3F,QAAQ,CAAEpzB,QAAO2qH,mBAG3D1C,GAAmB4C,uBAAuBjrJ,OA9QzB,KAgRjBqoJ,GAAmB4C,uBAAuBhsG,MAG1C6rG,EAAmBI,YAGnB,GAFAlmJ,KAAKmmJ,eAAiBN,EAEjBC,EAAmBC,gBAMjB,IAAKF,EAAevqH,oBAAqB,CAC5C,MACM8qH,EAAoB,CAAElB,cADN,IAAIC,IAG1BnlJ,KAAKqmJ,0BACDP,EAAmBI,YACG,GACP,EACfE,SATJpmJ,KAAKgkJ,4BAeTwB,uBAAuBv8E,EAAmBvnE,EAAgBijJ,G,MAC9D,IAAK17E,EAAQ9jC,OACT,OAAO,EAGX,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,UAAuCwC,EAAQ9jC,OAAOgnC,QAAUlD,EAAnF,CAKA,GAAgC,KAA5BA,EAAQ9jC,OAAOshC,SAAuC,CAEtD,GACIwC,EAAQ9jC,OAAOA,QACoB,KAAnC8jC,EAAQ9jC,OAAOA,OAAOshC,WACrBwC,EAAQ9jC,OAAOA,OAAOgnC,OACvB3H,GAAUmB,OAAOsD,EAAQ9jC,OAAOA,QAAUzjC,EAE1C,OAKJ,OAAO1B,KAAK+kJ,4BAA4B97E,EAAQ9jC,QAGpD,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,SAAyC,CACxD,GAAIwC,EAAQ9jC,OAAOgnC,QAAUlD,EAEzB,OAGJ,MAAM8jD,EAAa9jD,EAAQ9jC,OAAOA,OAClC,GAAI4nF,GAAsC,KAAxBA,EAAWtmD,SAAuC,CAEhE,IAAKwC,EAAQ9jC,OAAOgnC,OAAS3H,GAAUmB,OAAOsD,EAAQ9jC,QAAUzjC,EAC5D,OAGJ,OAAIunE,EAAQ9jC,OAAO94B,OAAS48D,EACjBjpE,KAAKylJ,0BAA0B14B,EAAY43B,GAG/C3kJ,KAAKylJ,0BAA0B14B,EAAY,IAGtD,OAAO,EAGX,GAAgC,KAA5B9jD,EAAQ9jC,OAAOshC,UAA2CwC,IAAYA,EAAQ9jC,OAAOkiC,WACrF,OAAOrnE,KAAKilJ,4BAA4Bh8E,EAAQ9jC,OAAOuhC,eAAgBi+E,GAG3E,GAAgC,KAA5B17E,EAAQ9jC,OAAOshC,UAAqCwC,IAAYA,EAAQ9jC,OAAO94B,KAAnF,CAIA,GAAgC,KAA5B48D,EAAQ9jC,OAAOshC,UAAuCwC,IAAYA,EAAQ9jC,OAAO94B,KACjF,OAA6B,QAAzB,EAAA48D,EAAQ9jC,OAAO+mD,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,MACjDvO,KAAKumJ,+BAA+B5B,EAAW17E,QAG1D,EAGJ,KAAgC,KAA5BA,EAAQ9jC,OAAOshC,UAAwCwC,IAAYA,EAAQ9jC,OAAO94B,MAItD,KAA5B48D,EAAQ9jC,OAAOshC,UAAoCwC,IAAYA,EAAQ9jC,OAAO94B,MAKlD,KAA5B48D,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAMhC,KAA5BmtE,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAKhE,OAAO,IAGH8oJ,iBAAiBljJ,G,QACrB,MAAMsf,EAQN,SAAuBtf,EAAgB4iE,GACnC,MAAMkiF,EAAaliF,EAAOq1B,kBAAkBj4F,GAC5C,GAAI8kJ,EAAa,EACb,OAGJ,IAAIxlI,EAAQsjD,EAAOgB,UAAUkhF,GAE7B,KAAI9kJ,EAASsf,EAAMllB,OAAS4F,EAASsf,EAAMllB,MAAQklB,EAAMhmB,QAAzD,CAOA,IAAK,IAAIV,EAAIksJ,EAAa,EAAGlsJ,GAAK,EAAGA,IAAK,CACtC,MAAMmsJ,EAAYniF,EAAOgB,UAAUhrE,GACnC,GAAI0mB,EAAMllB,QAAU2qJ,EAAU3qJ,MAC1B,MAGJklB,EAAQylI,EAGZ,OAAI/kJ,GAAUsf,EAAMllB,MACTklB,GAKX,EAAawlI,EAAa,EAAIliF,EAAOtpE,QAC9BspE,EAAOgB,UAAUkhF,EAAa,KAvC3BE,CAAchlJ,EAAQ1B,KAAKujJ,cAAcp2E,gBAAgB7I,QACvE,QAAKtjD,GAK4D,QAA1D,EAAc,QAAd,EAAAA,EAAMsrE,gBAAQ,eAAE79B,MAAM/rD,GAAM8hE,GAAUoB,SAASljE,EAAGhB,YAAQ,SAqC7DsjJ,+BACJt9E,EACAi9E,EACAH,EACAC,G,MAKA,OAAQ/8E,EAAKpJ,UACT,KAAK,EACD,OAAOt+D,KAAK2mJ,+BAA+B,MAG/C,KAAK,EACD,OAAO3mJ,KAAK2mJ,+BAA+B,QAG/C,KAAK,EACL,KAAK,EACD,OAAO3mJ,KAAK0lJ,0BAA0Bh+E,EAAMi9E,EAAWH,EAAWC,GAGtE,KAAK,EAA6C,CAC9C,IAAI2B,EAAoBpmJ,KAAK8kJ,uBAAuBp9E,EAAMi9E,EAAWH,EAAWC,GAMhF,OAJK2B,GAAsBA,EAAkBlB,gBACzCkB,EAAoBpmJ,KAAK0lJ,0BAA0Bh+E,EAAMi9E,EAAWH,EAAWC,IAG5E2B,EAGX,KAAK,EACD,GAAI1+E,EAAKhR,OAASm0B,GAAiBnjB,EAAKhR,OACpC,OAAO12D,KAAKilJ,4BAA4Bv9E,EAAKhR,MAAOiuF,GAExD,MAGJ,KAAK,GACD,GAAIj9E,EAAKhR,OAAiC,KAAxBgR,EAAKhR,MAAM+P,SACzB,OAAmB,QAAf,EAAAiB,EAAKwkB,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,MACvCvO,KAAKumJ,+BAA+B5B,EAAWj9E,EAAKhR,OAKxD12D,KAAK4mJ,8BAA8BjC,EAAWj9E,EAAKhR,MAAOgR,EAAKwkB,aAS9Eo6D,YAAY5+E,GAChB,OAAO1nE,KAAK6mJ,gBAAgBn/E,EAAM,YAG9Bm/E,gBAAgBn/E,EAAqBpqE,GACzC,OAAoC,KAA7BoqE,EAAK3V,WAAW0U,UAAmCiB,EAAK3V,WAAWz0D,QAAUA,EAGhFqpJ,+BAA+B/kG,GACnC,MAAMikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAagE,cAAenlG,GACzE,MAAMsjG,EAAgB,IAAIC,GAE1B,OADAD,EAAc//I,IAAI0gJ,GACX,CAAEX,iBAGLqB,+BAA+B5B,EAAmBqC,G,MACtD,MAAMv5C,EAqCN,SAAwBqkB,EAA0Bk1B,GAC9C,MAAMhwB,EAAiB,GAAiCgwB,GAAa,GACrE,GAAIhwB,EAAgB,CAChB,MAAM5K,EAAe0F,EAAUzF,eAAe2K,GAC9C,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,MAAMihG,KAAYqN,EAAane,UAAU1H,QAAQoI,IAC9CzI,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,OAAOA,EAIX,MAAMif,EnBxWX,SAA4BhlD,GAC/B,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,yBmB8VsB,CAAkC80F,GACrD,GAAIt6B,EAAY,CACZ,MAAM80B,EAAc,GAA0B90B,GAC9C,OAAO80B,aAAW,EAAXA,EAAa/zC,aA3DRw5C,CAAejnJ,KAAKypH,WAAYu9B,GACpD,IAAKv5C,EACD,OAGJ,MAAMy5C,EAAiD,MAAV,QAAlB,EAAAF,EAAY7hH,cAAM,eAAEshC,gBAA6C3nE,EACtFomJ,EAAgB,IAAIC,GAEpBgC,EAAgB,GAAoCH,GA2B1D,OA1BAv5C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,MAAM67D,EAAOsxC,GAA8B7+B,GAC3C,IAAKzS,GAAsB,IAAdA,EAAKlpE,KACd,OAGJ,IAAKkpE,EAAKR,KAAKwkB,WAAWz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,KAEnD,OAGJ,MAAM2tF,EAAQvhB,EAAOy+B,kBACrB,IAAqB,IAAjBld,EAAMlhG,SAAgBkhG,EAAMztC,MAAMlgD,GAAMA,EAAEm5D,OAASy/E,MAKnD,EAA8BH,EAAY1pJ,MAAO+O,GAAO,CACxD,MAAMgvB,EAAWr7B,KAAKonJ,oBAAoBzC,EAAWqC,EAAa9+E,EAAKR,KAAKr7D,KAAK/O,OACjF0C,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQqsE,EAAY1pJ,MAAO4nJ,EAAe,CAC5DgC,qBACAlqH,MAAO,CAAE3B,kBAKd,CAAE6pH,iBA+BL0B,8BACJjC,EACAqC,EACA96D,G,QAEA,MAAM8qC,EAAiB,GAAiCgwB,GAAa,GACrE,IAAKhwB,EACD,OAGJ,MAAM5K,EAAepsH,KAAKypH,WAAW4C,eAAe2K,GACpD,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,IAAIxjB,EAAI,EAAGA,EAAI8xH,EAAane,UAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CAChE,MAAMykH,EAAWqN,EAAane,UAAU1H,QAAQoI,IAAIr0G,GAChD4rG,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,MAAM65C,EAA+E,QAAhE,EAAAp7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK6mJ,gBAAgBt4I,EAAG,yBAAgB,SAC/Eg5I,EAA6E,QAA/D,EAAAr7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK6mJ,gBAAgBt4I,EAAG,wBAAe,SAE7E22I,EAAgB,IAAIC,GA0E1B,OAxEA13C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,IAAI67D,EAAOsxC,GAA8B7+B,GACzC,GAAIzS,GAAsB,IAAdA,EAAKlpE,MACT,EAA8BgoJ,EAAY1pJ,MAAO+O,GAAO,CACxD,MAAM4qH,EAAej3H,KAAKypH,WAAWyN,sBAAsBhvD,GAC3D,IAAK+uD,EACD,OAGJ,IAAItX,EAAaxZ,GAAgB8wB,IAAiBryB,GAAU6L,gBAAgBwmB,GAO5E,GALI,GAA6B5qH,KAE7BszG,GAAa,IAGZ7Y,GAAWmwB,KAAkBtX,EAC9B,OAGJ,GAAIA,EAAY,CAGZ,MAAMlG,EAAa9+B,EAAO2+B,uBACtBG,EAAWz+G,OAAS,GAA4B,IAAvBy+G,EAAW,GAAGz6G,OACvCkpE,EAAOuxC,EAAW,IAI1B,MAAM+tC,EACF1gD,GAAWmwB,IAAiBpyB,GAAamP,eAAeijB,GAItDwwB,EACF3gD,GAAWmwB,IACXpyB,GAAaoP,cAAcgjB,IAClB,sBAAT5qH,EAEJ,GAAIi7I,IAAiBE,GAA0BD,IAAgBE,EAC3D,OAGJ,MAAMC,EAAkB1nJ,KAAK2nJ,sBAAsBv7B,EAAane,UAAW/lC,GAE3E,IAAI9wC,EAEAA,EADAw9C,GAAW50E,KAAK0jJ,WACT,GAAGgE,SAQH,GAAGA,OANS1nJ,KAAK4nJ,2BACpBx7B,EAAane,UACbu5C,EACA7nC,EACAz3C,KAKR,MAAM7sC,EAAWr7B,KAAKonJ,oBAAoBzC,EAAWqC,EAAa5vH,GAElEp3B,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQqsE,EAAY1pJ,MAAO4nJ,EAAe,CAE5DgC,oBAAoB,EACpBlqH,MAAO,CACH3rB,OAAQrR,KAAKumB,SAASshI,QAAU,GAAA5pH,iBAAA,aAA2Bn/B,EAC3Du8B,kBAOb,CAAE6pH,iBAGLkC,oBAAoBzC,EAAmBj9E,EAA6BtwC,GACxE,MAAM0wH,EACY,MAAdpgF,aAAI,EAAJA,EAAMjB,UACAzmE,KAAKyjJ,UAAUtpH,UAAYwqH,EAAU3pJ,OAAS0sE,EAAKpqE,MAAMtC,OACzDgF,KAAKyjJ,UAAUtpH,UAEnB1tB,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWn6B,KAAKyjJ,UAAUtpH,UAAYwqH,EAAU3pJ,QACpFe,IAAK,CAAEm+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAW2tH,IAGjD,OAAO,GAAAvuH,SAAA,QAAiB9sB,EAAO2qB,GAG3BuwH,sBAAsB15C,EAAsB/lC,GAChD,MAAMR,EAAOQ,EAAKR,KAElB,IAAIqgF,EACAnzE,GAAW50E,KAAK0jJ,WAEhBqE,GAAqB,EACd95C,EAAU1H,QAAQv7B,aAAe9C,EAAK8C,aAE7C+8E,GAAqB,GAGzB,MAAMC,EAAapzE,GAAW50E,KAAK0jJ,WAC7B,OACA5kJ,EAEAmpJ,EAAYvgF,EAAKrkC,WAClBvf,KAAI,CAACV,EAAO+G,KACT,IAAIq1H,EAAc,GACK,IAAnBp8H,EAAMk7C,SACNkhF,GAAe,IACW,IAAnBp8H,EAAMk7C,WACbkhF,GAAe,MAGfp8H,EAAM/W,OACNmzI,GAAep8H,EAAM/W,KAAK/O,OAK9B,MAAM4qJ,EAAsBloJ,KAAKypH,WAAW0+B,8BAA8BzgF,EAAMv9C,GAYhF,OAXI+9H,IACA1I,GAAe,KAAO,GAA+B0I,EAAqBF,IAG1E5kI,EAAM8vE,eACNssD,GAAe0I,EAAsB,MAAQ,IAG7C1I,IADoBuI,WAAuBK,EAAgBhlI,EAAM8vE,eACpC,MAAQ,GAA+B9vE,EAAM8vE,aAAc80D,IAGvFxI,GAAgBp8H,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,SAIlCkhF,EAHI,OAKdhkJ,KAAK,MAEV,IAAIksJ,EAAkBhgF,EAAKr7D,KAAK/O,MAAQ,IAAM2qJ,EAAY,IAU1D,OARIvgF,EAAK0lB,qBACLs6D,GAAmB,OAAS,GAA+BhgF,EAAK0lB,qBAAsB46D,GAC/EtgF,EAAK0qB,4BACZs1D,GACI,OACA,GAA+BhgF,EAAK0qB,0BAA0BhF,qBAAsB46D,IAGrFN,EAEP,SAASU,EAAgB1gF,GACrB,OAAQA,EAAKjB,UACT,KAAK,GACL,KAAK,GACD,OAAO,EAEX,KAAK,GACD,OAAwD,IAA7B,GAAnBiB,EAAK1mD,MAAMkoD,OAEvB,KAAK,GACD,OAAOxB,EAAKR,QAAQngD,MAAMqhI,GAE9B,KAAK,GACD,OAAOA,EAAgB1gF,EAAK3V,YAEhC,KAAK,EACD,OAAOq2F,EAAgB1gF,EAAKhB,iBAAmB0hF,EAAgB1gF,EAAKqlB,iBAExE,QACI,OAAO,IAKf66D,2BACJ35C,EACA+F,EACA2L,EACAz3C,GAEA,IAAImgF,EAAK,OAET,GAC6C,IAAzCp6C,EAAU1H,QAAQgI,YAAYvzG,QAC9BirG,GAAQgI,EAAU1H,QAAQgI,YAAY,KACgB,oBAAtDN,EAAU1H,QAAQgI,YAAY,GAAGhI,QAAQwG,SAGzC,OADAs7C,GAAMroJ,KAAKumB,SAASshI,QAAU,YAAc,OACrCQ,EAGX,GAAoC,IAAhCngF,EAAKR,KAAKrkC,WAAWroC,OAErB,OADAqtJ,GAAMroJ,KAAKumB,SAASshI,QAAU,YAAc,OACrCQ,EAGX,MAAMhlH,EAeN,SAAuBA,GACnB,MAAMilH,EAAyD,GAE/D,IAAIC,GAAc,EAClB,IAAK,MAAMC,KAAanlH,EAChBmlH,EAAUn8I,MACVi8I,EAAQjtJ,KAAK,CAACmtJ,EAAWD,IAG7BA,EAC2B,IAAvBC,EAAUlqF,UACa,IAAvBkqF,EAAUlqF,SAGlB,OAAOgqF,EA7BQG,CAAcz0C,EAAiB9rC,EAAKR,KAAKrkC,WAAa6kC,EAAKR,KAAKrkC,WAAWzlC,MAAM,IASpG,MAR6B,aAAzBsqE,EAAKR,KAAKr7D,KAAK/O,QACf+qJ,GAAM,WAGNngF,EAAKR,KAAKkvB,UACVyxD,GAAM,UAGN1oC,EACO0oC,EAAK,WAAWngF,EAAKR,KAAKr7D,KAAK/O,QAGnC+qJ,EAAK,WAAWngF,EAAKR,KAAKr7D,KAAK/O,SAAS+lC,EAAWvf,KAmB1D,SAAyB0kI,G,MACrB,MAAMn8I,EAAwB,QAAjB,EAAAm8I,EAAU,GAAGn8I,YAAI,eAAE/O,MAChC,OAA8B,IAA1BkrJ,EAAU,GAAGlqF,SACN,IAAIjyD,IAGe,IAA1Bm8I,EAAU,GAAGlqF,SACN,KAAKjyD,IAGTm8I,EAAU,GAAK,GAAGn8I,KAAQA,IAASA,KA7BiC7Q,KAAK,SAiChFypJ,4BACJyD,EACA/D,GAEA,MAAMl3C,EAAc,IAAI3vF,IAClBonI,EAAgB,IAAIC,GAC1B,IAAIwD,EAAqC,GAErCC,EAAW5oJ,KAAKypH,WAAW8D,QAAQm7B,GAwCvC,OAtCIE,IACAA,EAAW5oJ,KAAKypH,WAAWo/B,6BAA6BD,GAExDxsC,GAAiBwsC,GAAW9iD,IAGxB,GAAIG,GAFJH,EAAU9lG,KAAKypH,WAAWo/B,6BAA6B/iD,IAGnDod,GAAmBpd,EAAS2H,EAAuCjJ,GAASvmG,WAAW6nG,SACpF,GAAIM,GAASN,IVqf7B,SAA6B8H,EAAwBH,GAIpDG,EAAWF,cACXE,EAAWF,aAAapoF,SAAQ,CAACq1D,EAAQtuE,KACrCohG,EAAYtoG,IAAIkH,EAAMsuE,MAI9BizB,EAAWpD,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAC/BohG,EAAYtoG,IAAIkH,EAAMsuE,MU/fVmuE,CAAoBhjD,EAAS2H,QAC1B,GAAI3G,GAAWhB,IAAYiB,GAAqBjB,GAAU,CAC7D,MAAMijD,EAAgB/oJ,KAAKypH,WAAWyI,eAAew2B,EAAc,YAC/DK,GAAiB7iD,GAAoB6iD,IACrC7lC,GAAmB6lC,EAAet7C,GAAuC,QAE1E,GAAInI,GAAeQ,GAAU,CAChC,MAAMkjD,EAAchpJ,KAAKypH,WAAWyI,eAAew2B,EAAc,UAC7DM,GAAe9iD,GAAoB8iD,IACnC9lC,GAAmB8lC,EAAav7C,EAAajJ,GAASvmG,WAAW6nG,IAIzE9lG,KAAKipJ,0BACDx7C,GACA,KAAM,GACNk3C,GACiB,EACjB1+C,GAAQH,GAAWA,OAAUhnG,EAC7BomJ,SAMP0D,GAAYljD,GAAUkjD,IAAa7iD,GAAU6iD,MAC9CD,EAAmB3oJ,KAAKkpJ,oBAAoBR,EAAcE,IAGvD,CAAE1D,gBAAeyD,oBAGpBO,oBAAoBR,EAA8BE,G,MACtD,IAAI3/E,EAAsCy/E,EACtCS,EAA4BP,EAC5BQ,EAC0B,KAA1BV,EAAajiF,SAA0CiiF,aAAY,EAAZA,EAAcrhF,WAAW/pE,WAAQwB,EAG5F,KAAOmqE,IACsB,IAArBA,EAAQxC,UAAwD,KAArBwC,EAAQxC,UAEnDwC,EAAUA,EAAQvC,oBAGQ5nE,IAAtBsqJ,IACAA,EACyB,KAArBngF,EAAQxC,UAAmE,QAAzB,EAAAwC,aAAO,EAAPA,EAAS5B,WAAW/pE,aAAK,QAAS,KAG5F2rE,OAAUnqE,GAGVmqE,IACAkgF,EAAUnpJ,KAAKypH,WAAW8D,QAAQtkD,QAGlBnqE,IAAZqqJ,GAA0BzjD,GAAUyjD,IAAapjD,GAAUojD,OAMvE,MAAMR,EAAqC,GAC3C,GAAIQ,IAAYzjD,GAAUyjD,KAAapjD,GAAUojD,IAAYlgF,EAAS,CAClE,MAAMogF,EAAqBtjC,GAA2BojC,GAGtDR,EAAiBW,gBAAkBD,EAAmB99E,MAAM/qE,GAAY,WAANA,IAEzC,KAArByoE,EAAQxC,SACRkiF,EAAiBY,oBAAsBtgF,EAAQ5B,WAAW/pE,OAC9B,KAArB2rE,EAAQxC,UAAmCy/B,GAAoBijD,IAE1C,KAArBlgF,EAAQxC,UAAmC0/B,GAAgBgjD,MADlER,EAAiBY,oBAAsBJ,EAAQ5iD,QAAQl6F,MAK3Ds8I,EAAiBS,kBAAoBA,EAGzC,OAAOT,EAGHhD,yBACJ6D,EACA7E,EACAH,EACAC,GAGA,OAAOzkJ,KAAK0lJ,0BAA0B8D,EAAW7E,EAAWH,EAAWC,GAGnEiB,0BACJ8D,EACA7E,EACAH,EACAC,G,YAEA,MAAMgF,EAAkBzpJ,KAAK0pJ,iBAAiBF,GAI9C,IAAKC,GAA0C,KAAvBD,EAAU/iF,SAC9B,OAKJ,GAC8B,MAAV,QAAhB,EAAA+iF,EAAUrkH,cAAM,eAAEshC,WAClB+iF,EAAUrkH,UAAkC,QAAvB,EAAAqkH,EAAUrkH,OAAOt/B,cAAM,eAAEs/B,QAE9C,OAGJ,MAAM+/G,EAAgB,IAAIC,GACpBiB,EAAoB,CAAElB,iBAG5B,GAA4B,OAAxBV,EAAU5mJ,OAAO,GACjB,OAAOwoJ,EAkCX,GA9BApmJ,KAAK2pJ,4BACDH,EACA7E,EACAH,EACAC,GACe,EACfS,GAIJllJ,KAAK4pJ,YAAYJ,EAAW7E,EAAWO,GAGvCllJ,KAAK6pJ,sBAAsB/G,GAASI,WAAWljJ,KAAKwpH,SAASzsC,eAAgB4nE,GAAW7gI,KAAK89B,IACzF,GAAIsjG,EAAc9gI,IAAIw9B,GAClB,OAEJ,MAAMikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa5gH,QAASyf,GACnEsjG,EAAc//I,IAAI0gJ,MAKjBlB,EAAUnvF,WAAW,MAASx1D,KAAKmmJ,gBACpCnmJ,KAAKqmJ,0BAA0B1B,EA3/BnB,IA2/B+C3kJ,KAAKumB,SAASujI,SAAU1D,GAI5D,IAAvBoD,EAAU/iF,SACV,GAC2B,IAAvB+iF,EAAUlrF,UACgB,MAAV,QAAhB,EAAAkrF,EAAUrkH,cAAM,eAAEshC,UAElBzmE,KAAK+pJ,8BACDP,EAAUrkH,YACIrmC,OACDA,EACbomJ,QAED,GAA2B,IAAvBsE,EAAUlrF,UACbkrF,EAAUrkH,QAAwC,IAA9BqkH,EAAUrkH,OAAOshC,SAAuC,CAC5E,MAAMujF,EAAiE,QAA1C,EAAAhqJ,KAAKypH,WAAWwgC,gBAAgBT,UAAU,eAAExqJ,KACrEgrJ,GACAhqJ,KAAKkqJ,+BACDF,EACAxF,EACAG,EACAF,EACAS,GAOpB,GAAIuE,EAAiB,CAEjB,MAAMU,EAAYX,EAAUrkH,OAAQA,OAEpCnlC,KAAKoqJ,gBAAgBD,EAAWX,GAAWlkI,SAAStD,IAC5CkjI,EAAc9gI,IAAIpC,IAQtBhiB,KAAKqqJ,sBAAsBroI,EAAK,GAAAgc,mBAAA,SAA6B2mH,EAAWO,EAAe,CACnFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAActoI,GACxDuoI,WAAYnH,QAKxB,OAAOgD,EAGHsD,iBAAiBhiF,GACrB,MAAM8iF,EAAc9iF,EAAKviC,OACzB,OACIqlH,GACyB,IAAzBA,EAAY/jF,UACqB,IAAjC+jF,EAAY5jF,kBACZ4jF,EAAYrlH,QACoB,KAAhCqlH,EAAYrlH,OAAOshC,UACnB+jF,EAAYrlH,OAAOgiC,gBAC4B,KAA/CqjF,EAAYrlH,OAAOgiC,eAAeV,SAIlCkjF,4BACJH,EACA7E,EACAH,EACAC,EACAgG,EACAvF,GAGA,MACMwF,EAAWrxD,GACbmwD,EAFW,GAAwBxpJ,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OAItFxnD,KAAKujJ,cAAcp2E,gBAAgB7I,QAGvC,IAAKomF,EACD,OAGJ,MAAMC,EAAgB3qJ,KAAKypH,WAAWmhC,qBAClCF,EAASnxD,SACTmxD,EAAS5wD,YACT4wD,EAAS3wD,cAGb,GAAI4wD,EAAe,CAEf,MAAME,EAAc5lF,GAChB0lF,EAAcpxD,SAAS7yB,eAAe5qE,MAAQ6uJ,EAAcpxD,SAAS7yB,eAAe1rE,OACpFgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGnCkd,GAAiB1kE,KAAKyjJ,UAAWoH,GAAe,IAC3CJ,GACDzqJ,KAAK8qJ,oBAAoBH,EAAehG,EAAWO,GAIvDllJ,KAAK+qJ,6BAA6BJ,EAAenG,EAAWG,EAAWF,EAAUS,KAKrF6F,6BACJJ,EACAnG,EACAG,EACAF,EACAS,GAEAyF,EAAcK,WAAW1lI,SAAS2lI,IAC9B,IAAKA,EAAUC,YACX,OAGJ,MAAMlsJ,EAAOisJ,EAAUjsJ,KACjBqjH,EAAarjH,EAAKunG,QAAQljE,WAAWxnC,QAAQovJ,EAAUC,aAE7D,GAAI7oC,EAAa,EACb,OAGJ,MAAML,EAAYhjH,EAAKunG,QAAQljE,WAAWg/E,GAAYrjH,KACtDgB,KAAKkqJ,+BAA+BloC,EAAWwiC,EAAWG,EAAWF,EAAUS,MAK/EgF,+BACJlrJ,EACAwlJ,EACAG,EACAF,EACAS,GAEA,MAAMiG,EAAanrJ,KAAKorJ,4BAA4B5G,GACpDxkJ,KAAKqrJ,8BAA8BrsJ,GAAMsmB,SAAS8rC,IAC9C,GAAIwzC,GAAUqH,UAAU76C,EAAG,OAAQ,CAC/B,MAAM9zD,EAAQigJ,GAAkBnsF,EAAG+5F,EAAWG,qBACfxsJ,IAA3BqsJ,EAAWI,YACXvrJ,KAAKqqJ,sBAAsB/sJ,EAAO,GAAA0gC,mBAAA,SAA6B2mH,EAAWO,EAAe,CACrFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAAcl5F,EAAEs6C,gBAG9D1rG,KAAKwrJ,+BACDluJ,EAAM0E,OAAO,EAAG1E,EAAMtC,OAAS,GAC/BmwJ,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,OAOZuG,6BAA6BjC,EAAsBkC,GACvD,MAAMhkF,EAiBN,SAA+B8hF,GAE3B,GAA2B,KAAvBA,EAAU/iF,SACV,OAAO+iF,EAGX,IAAIvgF,EAAiCugF,EACrC,KAAOvgF,GAAgC,KAArBA,EAAQxC,UAA8D,KAArBwC,EAAQxC,UAEvE,GADAwC,EAAUA,EAAQ9jC,QACb8jC,EACD,OAIR,OAAOA,EA/BE0iF,CAAsBnC,GACnC,OAAK9hF,EAIEA,EAAK9+C,QAAQkiG,SAASrxD,GACF,KAAnBA,EAAMgN,WAAiDilF,aAAU,EAAVA,EAAYtnI,IAAIq1C,EAAM60B,cAAc1xE,KACpF,GAG0B,KAAjC68C,EAAM60B,cAAc7nB,SACb,CAAChN,EAAM60B,cAAcpnB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,KAG1D,KAZA,GAiCP6vJ,8BAA8BrsJ,GAClC,MAAM2pB,EAAsB,GAQ5B,OANAyzF,GAAiBp9G,GAAO8mG,IAChBK,GAAgBL,IAAYmZ,GAAcnZ,IAC1Cn9E,EAAOttB,KAAKyqG,MAIbn9E,EAGHijI,mBAAmBr2B,G,MAEvB,IAAI3wB,GAAUqH,UAAUspB,EAAU,SAAW3wB,GAAUqH,UAAUspB,EAAU,aAChC,KAAb,QAAtB,EAAAA,EAASntB,qBAAa,eAAEptG,QACxB,OAAOu6H,EAASntB,cAAc,GAKtC,MAAMh2C,EAASwuD,GAAmB2U,EAAU,eAC5C,GAAInjE,aAAM,EAANA,EAAQuoB,OAAOw+B,kBAAmB,CAClC,MAAMnxC,EAAc5V,EAAOuoB,OAAOy+B,kBAAkB,GACpD,GAAIzzB,GAAsB3d,IAAgBA,EAAYojD,SAAU,CAC5D,MAAMygC,EAAc7rJ,KAAKypH,WAAWyN,sBAAsBlvD,GAC1D,GAAI6jF,GAAe/kD,GAAW+kD,IAA0D,IAA1CA,EAAYtlD,QAAQljE,WAAWroC,OACzE,OAAO6wJ,EAAYtlD,QAAQljE,WAAW,GAAGrkC,OAQjDorJ,gBAAgBD,EAAsB2B,G,sBAC1C,GAA0C,KAAtC3B,EAAUhjF,eAAeV,SAEzB,MAAO,GAGX,MAAM8uD,EAAWv1H,KAAKypH,WAAW8D,QAAQ48B,EAAUhjF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,MAAO,GAIX,MAAMhD,EAAUvyH,KAAK4rJ,mBAAmBr2B,GACxC,GAAIhD,EAAS,CACT,MAAMltG,EAAiB,GAgBvB,GAdArlB,KAAKqrJ,8BAA8B94B,GAASjtG,SAAS8rC,KAE5CwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,SACvBwzC,GAAUqH,UAAU76C,EAAG,UACvBwzC,GAAU4L,YAAYp/C,KAK3B/rC,EAAKhqB,KAAKkiJ,GAAkBnsF,EAAGpxD,KAAKujJ,cAAcp2E,gBAAgB4+E,qCAGlE1mI,EAAKrqB,OAAS,EACd,OAAOqqB,EAKf,MAAMm7H,EAAmF,QAApE,EAAAxgJ,KAAKypH,WAAWmC,2BAA2Bu+B,EAAUhjF,uBAAe,QAAI,GACvFa,EAAcw4E,EAAaxlJ,OAAS,EAAIwlJ,EAAa,QAAK1hJ,EAChE,IACKkpE,GACqB,IAArBA,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAE9D,MAAO,GAGX,GAAIgpE,EAAYj5D,OAAS/O,KAAK0jJ,UAC1B,MAAO,GAGX,IAAInD,EAA0B4J,EAAUhjF,eACxC,GAAIa,EAAYN,KAAM,CAClB,MAAMskF,EAAY,GAAsChkF,EAAYN,OAIhB,QAAhD,KAAmC64E,UAAa,eAAE1kF,aACL,QAA7C,KAAmCmwF,UAAU,eAAEnwF,YAE/C0kF,EAAeyL,GAIvB,MAAM1D,EAAUxI,GAAwBmM,gBACpC9B,EAAUhjF,eACVnnE,KAAKypH,WACLzpH,KAAKggJ,mBACLO,GAGEl7H,EAAoB,IAAIyrB,IAC9B,IAAK,MAAM9wB,KAAUsoI,EAAS,CAC1B,MAAM5gF,EAC0B,MAAV,QAAlB,EAAA1nD,EAAO0nD,KAAKviC,cAAM,eAAEshC,UAA4CzmD,EAAO0nD,KAAKviC,OAASnlB,EAAO0nD,KAEhG,GACyB,KAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WACQ,KAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,UACf,CACE,GAA6C,KAAzCiB,EAAKviC,OAAO4nD,gBAAgBtmB,SAAuC,CACnE,MAAMylF,EAAaxkF,EAAKviC,OAAO4nD,gBAC/B,IAAK,MAAMtzB,KAASyyF,EAAWtjI,QAAQigC,QAClC5kD,GAAqB,KAAfA,EAAEwiE,WACkB,CAC3B,MAAMzkD,EAAMhiB,KAAKujJ,cAAcnsH,KAC1Bp1B,OAAOy3D,EAAM60B,cAAcxyF,MAAO29D,EAAM60B,cAActzF,QACtD4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,GAA6C,IAAzC0lD,EAAKviC,OAAO4nD,gBAAgBtmB,SAAiC,CAC7D,MAAM3lE,EAAO4mE,EAAKviC,OAAO4nD,gBACnB/tF,EAAOgB,KAAKypH,WAAW8D,QAAQzsH,EAAK4lE,gBAC1C,IAAK1nE,IAASknG,GAAoBlnG,KAAU4lG,GAAUqH,UAAUjtG,EAAM,QAClE,SAGJ,IAAK,MAAM/B,KAAO6D,EAAKpB,UAAW,CAC9B,MAAMsiB,EAA4B,QAAtB,EAAQ,QAAR,EAAA/kB,EAAIoP,YAAI,eAAE/O,MAAMsI,cAAM,QAAI,GAChCumJ,EAAQnsJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCAC7C/pI,EAAIhnB,OAAS,GACbqqB,EAAKO,IAAI,GAAGumI,IAAQnqI,IAAMmqI,OAM1C,GACyB,MAAV,QAAX,EAAAzkF,EAAKviC,cAAM,eAAEshC,WACgB,IAA7BiB,EAAKviC,OAAOpC,MAAM/nC,QACgC,IAAlD0sE,EAAKviC,OAAOpC,MAAM,GAAG+jC,gBAAgBL,WACpCjC,GAAUuB,cAAc2B,EAAKviC,OAAQ2mH,GACxC,CACE,MAAMM,EAAgB1kF,EAAKviC,OAAOpC,MAAM,GAClC/gB,EAAMhiB,KAAKujJ,cAAcnsH,KAC1Bp1B,OAAOoqJ,EAActlF,gBAAgBhrE,MAAOswJ,EAActlF,gBAAgB9rE,QAC1E4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,MAAO,IAAIqD,GAGPy/H,uBACJ0E,EACA7E,EACAH,EACAC,G,UAEA,IAAI13B,EAAoCy8B,EAAUrkH,OAElD,IAAK4nF,EACD,OAGJ,MAAMm4B,EAAgB,IAAIC,GAG1B,GAAIt6D,GAAiBkiC,GAAa,CAC9B,MAAMs/B,EAAqBrsJ,KAAKypH,WAAWwgC,gBAAgBl9B,GAC3D,GAAIs/B,GAAsBntC,GAAqBmtC,EAAmBrtJ,MAQ9D,OAPAgB,KAAKkqJ,+BACDmC,EAAmBrtJ,KACnBwlJ,EACAG,EACAF,EACAS,GAEG,CAAEA,iBAGb,GAA2B,KAAvBsE,EAAU/iF,WAAqD,QAAhB,EAAA+iF,EAAUrkH,cAAM,eAAEA,QAAQ,CACzE,MAAMmnH,EAAe9C,EAAUrkH,OAAOA,OAItC,IAAIonH,EAYJ,GAT8B,KAA1BD,EAAa7lF,UACb6lF,EAAah+D,gBAAkBk7D,EAAUrkH,QACZ,MAAV,QAAnB,EAAAmnH,EAAannH,cAAM,eAAEshC,UAErB8lF,EAAYD,EAAannH,OACI,MAAtBmnH,aAAY,EAAZA,EAAc7lF,YACrB8lF,EAAYD,GAGZC,GACIvsJ,KAAKolJ,kBAAkBmH,EAAW/C,EAAWhF,EAAWC,EAAUS,GAClE,MAAO,CAAEA,kBAMzB,GAA4B,IAAxBn4B,EAAWtmD,SAAqC,CAChD,GAA4B,KAAxBsmD,EAAWtmD,UAAyCsmD,EAAW7lD,QAAQlsE,OAAS,EAChF,OAIJ,GADA+xH,EAAaA,EAAW5nF,QACnB4nF,EACD,OAIR,GAA4B,IAAxBA,EAAWtmD,UAAkE,MAAV,QAAjB,EAAAsmD,EAAW5nF,cAAM,eAAEshC,WACrE,IACKzmE,KAAK+pJ,8BACFh9B,EAAW5nF,OACY,KAAvBqkH,EAAU/iF,SAAoC+9E,EAAY,GAC1DC,EACAS,GAEN,CACE,MAAM7/H,EAAOrlB,KAAKoqJ,gBAAgBr9B,EAAW5nF,OAAQqkH,GAC/C2B,EAAanrJ,KAAKorJ,4BAA4B5G,GAEpD,IAAK,MAAMxiI,KAAOqD,EAAM,CACpB,MAAMmnI,EAAgB,iBAAiBx1G,KAAKh1B,GAC5C,GAA2B,KAAvBwnI,EAAU/iF,UAAsC+lF,EAIpD,GAAIA,EAAe,CACf,MAAMC,EAAkBzqI,EAAIhgB,OAAO,EAAGggB,EAAIhnB,OAAS,GAEnDgF,KAAKwrJ,+BACDiB,EACAtB,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,EACA9B,SAGJpjJ,KAAKqqJ,sBAAsBroI,EAAK,GAAAgc,mBAAA,SAA6B2mH,EAAWO,EAAe,CACnFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAActoI,GACxDuoI,WAAYnH,KAKxB,GAA2B,IAAvB8B,EAAc5lJ,KACd,YAGL,CACH,EAAoC,KAAvBkqJ,EAAU/iF,UAEvB,MAAM/kE,EAAS,GAAwB1B,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OACpFijG,EAAa19B,EAAWjxH,MAAQ4F,GAAUA,EAAS8iE,GAAUmB,OAAO6jF,GAC1ExpJ,KAAK2pJ,4BAA4BH,EAAW7E,EAAWH,EAAWC,EAAUgG,EAAYvF,GAG5F,MAAO,CAAEA,iBAGLE,kBACJE,EACA5D,EACA8C,EACAC,EACAS,G,MAEA,MAAMmH,EAAqBrsJ,KAAKypH,WAAWwgC,gBAAgB3E,GAC3D,IAAK+G,EACD,OAAO,EAKX,GAAI,GAA4BA,EAAmB3kF,MAAQ,GAA4B49E,GACnF,OAAO,EAGX,IAAIoH,EAA0B,GAQ9B,GANAtwC,GAAiBiwC,EAAmBrtJ,MAAO8mG,IACnCK,GAAgBL,IAAYlB,GAAU0L,iBAAiBxK,IACvD4mD,EAAWrxJ,KAAKyqG,MAIE,IAAtB4mD,EAAW1xJ,OACX,OAAO,EAGX,MAAMqqB,EAAOrlB,KAAKyrJ,6BACdnG,EACA5D,EAAa,IAAI5wG,IAAI,CAAkB,QAAjB,EAAA4wG,EAAWv8G,cAAM,eAAEvoB,UAAO9d,GAGpD4tJ,EAAa1sJ,KAAK2sJ,qBAAqBD,EAAYrnI,GAEnD,MAAM8lI,EAAanrJ,KAAKorJ,4BAA4B5G,GAC9CoI,EAAW,IAAI97G,IAAIzrB,GAuBzB,OArBAqnI,EAAWpnI,SAASunI,IAChB76B,GAA4BhyH,KAAKypH,WAAYojC,GAA+B,GAAMvnI,SAAQ,CAAC7I,EAAGuF,KAEtF4qI,EAASxoI,IAAIpC,IAAQkjI,EAAc9gI,IAAIpC,KAI3C4qI,EAAShnI,IAAI5D,GAEbhiB,KAAKwrJ,+BACDxpI,EACAmpI,EAAaA,EAAWI,iBAAczsJ,EACtC2lJ,EACA0G,EACMA,EAAWG,eACXtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCACzC7G,WAKL,EAGHyH,qBAAqBhyC,EAAoBt1F,GAC7C,MAAMynI,EAAWnyC,EAAMmQ,SAAS9rH,IAC5B,MAAM4pB,EAAUopG,GAA4BhyH,KAAKypH,WAAYzqH,GAA0B,GAEvF,IAAK,IAAImrB,EAAQ,EAAGA,EAAQ9E,EAAKrqB,OAAQmvB,IACrC,IAAKvB,EAAQxE,IAAIiB,EAAK8E,IAClB,MAAO,GAIf,MAAO,CAACnrB,MAGZ,OAAwB,IAApB8tJ,EAAS9xJ,OAEF2/G,EAGJmyC,EAOH1B,4BAA4B5G,GAChC,GAAIxkJ,KAAK8jJ,qBAAsB,CAC3B,MAAMiJ,EAAkBvI,EAAUzjJ,YAAY,KACxCisJ,EAAkBxI,EAAUzjJ,YAAY,KAE9C,GAAIgsJ,EAAkBC,EAClB,MAAO,CACH1B,eAAgB,IAChBC,YAAa/G,EAAUxiJ,OAAO+qJ,EAAkB,IAEjD,GAAIC,EAAkBD,EACzB,MAAO,CAAEzB,eAAgB,IAAKC,YAAa/G,EAAUxiJ,OAAOgrJ,EAAkB,IAMtF,MAAO,CAAEzB,iBADWzsJ,EACEwsJ,eAFCtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,iCAKtDhC,8BACJI,EACA3F,EACAC,EACAS,GAEA,IAAKiF,EACD,OAAO,EAGX,MAAM50B,EAAWv1H,KAAKypH,WAAW8D,QAAQ48B,EAAUhjF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,OAAO,EAIX,IAAK3wB,GAAU0L,iBAAiBilB,GAC5B,OAAO,EAGX,MAAM3sG,EAAUopG,GAA4BhyH,KAAKypH,WAAY8L,GAA8B,GACrF41B,EAAa3G,EAAYxkJ,KAAKorJ,4BAA4B5G,QAAa1lJ,EAc7E,OAZA8pB,EAAQtD,SAAQ,CAAC7I,EAAGuF,KAChBhiB,KAAKwrJ,+BACDxpI,EACAmpI,EAAaA,EAAWI,iBAAczsJ,EACtC2lJ,EACA0G,EACMA,EAAWG,eACXtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCACzC7G,OAID,EAGHsG,+BACJluJ,EACA2vJ,EACAxI,EACA6G,EACApG,EACAphH,GAEA,GAAI,EAA8BmpH,GAAe,GAAI3vJ,GAAQ,CACzD,MAAM4vJ,EAAkB,GAAG5B,IAAiBhuJ,IAAQguJ,IACpD,GAAIpG,EAAc9gI,IAAI8oI,GAClB,OAGJ,MAAMrH,EAAiB,GAAAxnH,eAAA,OAAsB6uH,GAE7CrH,EAAe14H,KAAO,GAAA6Q,mBAAA,SACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAauH,aAAc4C,GACxE,IAAIC,EAAgBntJ,KAAKyjJ,UAAUtpH,eACfr7B,IAAhBmuJ,IACAE,GAAiBF,EAAYjyJ,OAAS,GAK1C,IAAIoyJ,EAAcptJ,KAAKyjJ,UAAUtpH,eAChBr7B,IAAb2lJ,GACIA,EAASjvF,WAAW81F,IACpB8B,IAIR,MAAM3gJ,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWgzH,GAC/CpxJ,IAAK,CAAEm+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWizH,IAEjDvH,EAAexqH,SAAW,GAAA9B,SAAA,QAAiB9sB,EAAOygJ,GAClDrH,EAAe/hH,OAASA,EAExBohH,EAAc//I,IAAI0gJ,IAIlBQ,0BACJ1B,EACA0I,EACAvD,EACA1D,G,UAEA,IACKA,EAAkBlB,gBAClBllJ,KAAKqzE,eAAei6E,wBACpBttJ,KAAKumB,SAASgnI,WAIf,OAGJ,MAAMC,EAAkBxtJ,KAAK6jJ,gBAAgB4J,sBAEvCC,EAAe,IAAIC,GACrB3tJ,KAAKwpH,SACLxpH,KAAKupH,gBACLvpH,KAAKujJ,cACLvjJ,KAAKyjJ,UACL2C,EAAkBlB,cAClBsI,EACA,CAAEI,WAAY5tJ,KAAK6jJ,gBAAgB+J,WAAY9D,aAG7CxB,EAA8B,GAC9BrsI,EAAmC,QAA5B,EAAAjc,KAAK6jJ,gBAAgBgK,eAAO,eAAEtpJ,IAAIogJ,GAC3C1oI,GAAQ0oI,EAAU3pJ,OAAS,IAAMorJ,EAAkBlB,cAAc9gI,IAAIugI,IACrE2D,EAAQjtJ,QAAQqyJ,EAAaI,+BAA+BnJ,EAAW1oI,EAAMjc,KAAKggJ,qBAGtFsI,EAAQjtJ,QACDqyJ,EAAaK,wBAAwBpJ,EAAW0I,OAAiBvuJ,EAAWkB,KAAKggJ,qBAGxF,MAAMgO,EAAWN,EAAaO,cAExBC,EAAmB,IAAI5tE,GAC7B,IAAK,MAAMtgE,KAAUsoI,EACbtoI,EAAO26D,OACP36E,KAAKqnJ,WAAWrnI,EAAO3T,KAAM2T,EAAO26D,OAAQgqE,EAAWyB,EAAkBlB,cAAe,CACpFiJ,iBAAkBnuI,EAAO2B,OACzBysI,gBAAiBpuI,EAAOmsD,MACxBnvC,MAAO,CACH3B,SAAUr7B,KAAKonJ,oBAAoBzC,OAAW7lJ,EAAWkhB,EAAOquI,eAChE/yH,oBAAqBtb,EAAOgd,SAIpCh9B,KAAKqqJ,sBACW,QAAZ,EAAArqI,EAAOmsD,aAAK,QAAInsD,EAAO3T,KACZ,QAAX,EAAA2T,EAAOmN,YAAI,QAAI,GAAA6Q,mBAAA,OACf2mH,EACAyB,EAAkBlB,cAClB,CACIa,eAAgB/lJ,KAAKsuJ,mBAAmBtuI,EAAO3T,KAAM2T,EAAO2B,OAAQ3B,EAAOmsD,OAC3EnvC,MAAO,CACH3B,SAAUr7B,KAAKonJ,oBAAoBzC,OAAW7lJ,EAAWkhB,EAAOquI,eAChE/yH,oBAAqBtb,EAAOgd,SAOhDopH,EAAkBmI,eAAiB,CAC/BC,UAAWR,EAASQ,UACpBC,cAAeT,EAASU,UAExBC,eAAgBX,EAASW,eACzBC,cAAeZ,EAASY,cACxBC,oBAAqBb,EAASa,oBAE9BC,UAAWxG,EAAQttJ,OACnB+zJ,YAAaf,EAASe,YACtBC,WAAYhB,EAASgB,WACrBC,iBAAkBjB,EAASiB,iBAE3BC,iBAAkBhB,EAAiB1tE,6BAInCilE,0BACJ0J,EACAxK,GAGA,GAAIwK,EAAenjF,iBACf,OAKJ,MAAMrE,EAAa,GAA+BwnF,EAAer9I,QACjE,IAAK61D,EACD,OAGJ,MAAMu9E,EAAgB,IAAIC,GAEpBx1I,EACFg4D,EAAWkD,cAAc7vE,OAAS,EAAI2sE,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAAK,GAEpGo0J,EAAgBpvJ,KAAK2jJ,cAAch0I,GAyBzC,OAxBIy/I,GACApvJ,KAAKipJ,0BACDmG,EAAc3hD,aACd,CAAC9yB,EAAQtuE,IAGDsuE,EAAOy+B,kBAAkB3qD,MAAMlgD,KtBj1D9B,IsBi1D4DA,EtBj1DrEvP,UsBk1DSmwJ,EAAe7jF,QAAQC,MAAM8jF,GAAQA,EAAIhjJ,KAAK/O,QAAU+O,KAGjEs4I,GACiB,OACC7lJ,EAClBomJ,GAKRv9E,EAAWwD,gBAAgB7lD,SAASgqI,IAC3BH,EAAe7jF,QAAQC,MAAM8jF,GAAQA,EAAIhjJ,KAAK/O,QAAUgyJ,EAAWjjJ,QACpErM,KAAKqqJ,sBAAsBiF,EAAWjjJ,KAAM,GAAA2xB,mBAAA,OAA2B2mH,EAAWO,MAInF,CAAEA,iBAGL2E,sBAAsB0F,EAAuBC,GACjD,OAAOD,EAAY1mG,QAAQjH,IACnB4tG,GACO,EAA8BA,EAAc5tG,KAOvDkpG,oBAAoBH,EAAkChG,EAAmBO,GAC7E,MAAMuK,EAAa,IAAI3xI,IAEvB6sI,EAAcK,WAAW1lI,SAAS2lI,IAC9BjrJ,KAAK0vJ,yBAAyBzE,EAAUjsJ,KAAMywJ,MAIlD9E,EAAcpxD,SAAS75F,UAAW4lB,SAASroB,IACnCA,EAAIoP,MACJojJ,EAAW7sI,OAAO3lB,EAAIoP,KAAK/O,UAKnCmyJ,EAAWnqI,SAASqqI,IAChB,GAAI,EAA8BhL,EAAWgL,GAAU,CACnD,MAAMv0H,EAAQu0H,EAAU,IACxB,GAAIzK,EAAc9gI,IAAIgX,GAClB,OAGJ,MAAMyqH,EAAiB,GAAAxnH,eAAA,OAAsBjD,GAC7CyqH,EAAe14H,KAAO,GAAA6Q,mBAAA,SAEtB,MAAM8nH,EAAyC,CAC3C8J,cAAe5vJ,KAAKsjJ,eACpBznF,SAAU77D,KAAK0jJ,UACfjnH,SAAUz8B,KAAKyjJ,WAEnBoC,EAAe3mJ,KAAO4mJ,EACtBD,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa8M,eAAgBF,GAE1EzK,EAAc//I,IAAI0gJ,OAKtB6J,yBAAyB1wJ,EAAoB8wJ,GACjD9wJ,EAAKunG,QAAQljE,WAAW/d,SAASlC,IACzBA,EAAM/W,OAAS+W,EAAM2vF,oBAGhB,GAAyC3vF,EAAM/W,OAChDyjJ,EAAS3qJ,IAAIie,EAAM/W,KAAM+W,EAAM/W,UAMvCu9I,YAAYliF,EAAiBi9E,EAAmBO,GACpD,IAAIj8E,EAAiCvB,EAErC,KAAOuB,GAAS,CAEZ,IAAIpB,EAAQq8B,GAAgBj7B,GAC5B,GAAIpB,EAAO,CACP,KAAOA,GACH7nE,KAAKipJ,0BACDphF,EAAM4lC,aACN,KAAM,GACNk3C,GACiB,OACC7lJ,EAClBomJ,GAEJr9E,EAAQA,EAAM1iC,OAIlB,GAAyB,KAArB8jC,EAAQxC,SAAkC,CAC1C,MAAMwnC,EAAYjuG,KAAKypH,WAAW4C,eAAepjD,GAC7CglC,GAAa/H,GAAoB+H,EAAUA,YAC3CA,EAAUA,UAAU1H,QAAQoI,IAAIrpF,SAAQ,CAACisF,EAAWpnF,KAC5C+7E,GAAoBqL,IACpBvxG,KAAKipJ,0BACD13C,EAAUhL,QAAQiE,QACjB7vB,KACQA,EAAOs9B,iBAKLt9B,EACFy+B,kBACA3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAE7B2lJ,GACiB,OACC7lJ,EAClBomJ,MAMpB,MAGJj8E,EAAUA,EAAQ9jC,QAIlB8jH,0BACJx7C,EACAsiD,EACApL,EACAqL,EACAC,EACA/K,GAEAz3C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,OAKrBsuE,EAAOkzB,sBACNlzB,EAAOy+B,kBAAkB3qD,MAAMlgD,IAAM2hJ,OlBnjEtBhoF,EkBmjEsC35D,ElBnjEnBstD,EkBmjEsB77D,KAAK0jJ,UlBljEtE39D,GAAmB7d,IAIkB,QAA9B,EAAAoyB,GAAoBpyB,EAAKR,aAAK,eAAE7L,YAAaA,EAIjDqM,EAAKn5D,OAAS8sD,EATlB,IAAyBqM,EAAmBrM,E,OkBojExBk0F,EAAsBp1E,EAAQtuE,KAGpC64I,EAAc9gI,IAAI/X,IACnBrM,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQgqE,EAAWO,EAAe,CACpD+K,qBACA/I,mBAAoB8I,QAOhC3I,WACJh7I,EACAsuE,EACAgqE,EACAO,EACAphH,G,UAIA,GAAI62C,EAAOk+B,yBACP,OAGJ,IAAIs3C,EAAc32C,GAA8B7+B,GAChD,IAAKw1E,EAAa,CACd,MAAM3P,EAAe7lE,EAAOy+B,kBACxBonC,EAAaxlJ,OAAS,IACtBm1J,EAAc3P,EAAaA,EAAaxlJ,OAAS,IAIzD,GAAIm1J,EAAa,CACb,IAAIC,EAA+B,GAAApyH,mBAAA,SAGnC,GADAmyH,EAAcnwJ,KAAKypH,WAAW4D,wBAAwB8iC,GAAqC,GACvFA,IACAC,EAAWpwJ,KAAKqwJ,kCAAkCF,GAMzB,IAArBA,EAAYnxJ,MACZ8kC,EAAOmsH,oBACP/pD,GAAoBpiE,EAAOmsH,qBAC3BrrD,GAAU4L,YAAY1sE,EAAOmsH,qBACI,KAAV,QAAvB,EAAAE,EAAYzoF,KAAKviC,cAAM,eAAEshC,YAEzB2pF,EAAW,GAAApyH,mBAAA,YAKXh+B,KAAKmmJ,gBAAgB,CACrB,MAAML,EAAqB9lJ,KAAKmmJ,eAAejnJ,KAE/C,GAAI4mJ,EAAmBI,cAAgB75I,IAASy5I,EAAmBC,eAAgB,CAG/E,MAAM/mJ,EAAOgB,KAAKypH,WAAWqK,yBAAyBn5C,GACtD,GAAI37E,EAAM,CACN,IAAIsxJ,EAEAC,EACAntH,EAEJ,OAAQ+sH,EAAYnxJ,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EAA2B,CAC5B,IAAIk+I,GAAkB,EACtB,GAAIl+I,GAAQwlG,GAASgB,eAAexmG,GAAO,CACvC,MAAMioG,EAAgBD,GAAiBhoG,GACnCioG,GACIA,EAAc56F,OAASA,IACvB6wI,GAAkB,GAI9BoT,EAAajkJ,EAAO,KAAOrM,KAAKypH,WAAW4K,UAAUr1H,EAAMk+I,GAC3D,MAGJ,KAAK,EAA0B,CAC3B,MAAM1pC,EACF1vE,EAAOmsH,qBAAuBnpD,GAAW9nG,IAAS+nG,GAAqB/nG,IACjEgB,KAAKypH,WAAW+mC,4BACZ1sH,EAAOmsH,mBACPjxJ,GAEJA,EACV,GAAIw0G,EACA,GACImM,GAAWnM,IACX1vE,EAAOmsH,oBACP9pD,GAAgBriE,EAAOmsH,oBACzB,CACE,MAAMQ,EACFzwJ,KAAKypH,WAAWinC,0BACZl9C,GACwB,IACvB9O,GAAYvyF,SACrBm+I,EACIjkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAUo8B,GAAoC,GAC9D,cACJF,EACIzsH,EAAOmsH,mBAAmB1pD,QAAQwG,SAAW,IAAM1gG,EAAO,mBACvD06F,GAAqByM,IAE5B88C,EAAarO,GACTzuC,EACAxzG,KAAKypH,WACiB,IAG1B8mC,EAAYI,GAAiCn9C,EAAajK,UAAU,MAEpE+mD,EACIjkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAU7gB,GAAoC,GAC9D1M,GAAW0M,KACX+8C,EAAYI,GAAiCn9C,KAIzD,MAGJ,KAAK,EACL,KAAK,EACD88C,EAAa,SAAWjkJ,EAAO,KAC/B,MAGJ,KAAK,EAED,GADAikJ,EAAajkJ,EACT8jJ,EAAYphJ,KAAM,CAClB,MAAMqgJ,EAAgBpvJ,KAAK2jJ,cAAcwM,EAAYphJ,MACjDqgJ,IACAhsH,EAAgBgsH,EAAc/xD,WAGtC,MAGJ,QACIizD,EAAajkJ,EAKrB,GACyB,IAArB8jJ,EAAYnxJ,MACZmxJ,EAAYp0D,eACZo0D,EAAY9yD,UAEZj6D,EAAgB+sH,EAAY9yD,eACzB,GAAI+I,GAASpnG,GAChBokC,EAAgBk0F,GAAmBt4H,EAAMmxJ,EAAanwJ,KAAK4jJ,oBACxD,GAAI19C,GAAoBlnG,GAC3BokC,EAAgBq0F,GAAkBz4H,EAAMmxJ,EAAanwJ,KAAK4jJ,oBACvD,GAAI98C,GAAW9nG,GAAO,CACzB,MAAMw0G,EAAe1vE,EAAOmsH,mBACtBjwJ,KAAKypH,WAAW+mC,4BAA4B1sH,EAAOmsH,mBAAoBjxJ,GACvEA,EACFw0G,GAAgB1M,GAAW0M,KAC3BpwE,EAAgB++G,GACZ3uC,EACAxzG,KAAK4jJ,cACL5jJ,KAAKypH,kBAGV,GAAI1iB,GAAqB/nG,GAAO,CACnC,MAAMw0G,EAAe1vE,EAAOmsH,mBACtBjwJ,KAAKypH,WAAW+mC,4BAA4B1sH,EAAOmsH,mBAAoBjxJ,GACvEA,EACFw0G,GAAgBzM,GAAqByM,KACrCpwE,EAAgBq/G,GACZjvC,EACAxzG,KAAK4jJ,cACL5jJ,KAAKypH,YACPl+C,MAAMysD,GAAQA,UAEI,KAAjBm4B,aAAW,EAAXA,EAAanxJ,MAEpBokC,EAAgB0zF,GACZq5B,EACAnwJ,KAAK4jJ,cACL5jJ,KAAKypH,YAEe,KAAjB0mC,aAAW,EAAXA,EAAanxJ,QAKpBokC,EAAgBy0F,GAFsD,QAFxD,EAAAl9C,EACTy+B,kBACA7tC,MAAMh9D,GAAiB,IAAXA,EAAEvP,QAAuCuP,EAAE8uF,mBAAU,QAClE8yD,EACuCnwJ,KAAK4jJ,gBAEpD,IAAK2M,IAAcntH,EAEf,OAEJ,GAAIpjC,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI8yH,EAAiB,GACjBL,IACAK,GAAkB,cAAgBL,EAAY,WAE9CA,GAAantH,IACbwtH,GAAkB,SAElBxtH,IACAwtH,GAAkBxzD,GAA2Bh6D,IAGjDwtH,EAAiBA,EAAelzD,UAEhC19F,KAAKmmJ,eAAe/iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOszJ,QAER,GAAI5wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI+yH,EAAkB,GAClBN,IACAM,GAAmBN,EAAY,MAE/BA,GAAantH,IACbytH,GAAmB,MAEnBztH,IACAytH,GAAmBrzD,GAA4Bp6D,IAGnDytH,EAAkBA,EAAgBnzD,UAElC19F,KAAKmmJ,eAAe/iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOuzJ,QAGX3+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,YAOnE,MAAM00I,EAAiBjiH,EAAOqqH,iBACxBnuJ,KAAKsuJ,mBAAmBjiJ,EAAMy3B,EAAOqqH,iBAAkBrqH,EAAOsqH,sBAC9DtvJ,EAENkB,KAAKqqJ,sBAA4C,QAAtB,EAAAvmH,EAAOsqH,uBAAe,QAAI/hJ,EAAM+jJ,EAAUzL,EAAWO,EAAe,CAC3Fa,iBACAmB,mBAAoBpjH,EAAOojH,mBAC3BlqH,MAAO8G,EAAO9G,aAKlB,GADwB29C,EAAO4+B,qBACV,CACjB,MAAM62C,EAA+B,GAAApyH,mBAAA,SACrCh+B,KAAKqqJ,sBAAsBh+I,EAAM+jJ,EAAUzL,EAAWO,EAAe,CACjEgC,mBAAoBpjH,EAAOojH,mBAC3BlqH,MAAO8G,EAAO9G,SAMtBsxH,mBAAmB3hF,EAAoBV,EAAqB6kF,GAChE,MAAM/K,ED12EP,SAA2B15I,EAAchP,EAAe8uE,GAC3D,IAAI/0C,EAWJ,OAPIA,EAHC/5B,EAGM,QAAQA,YAAegP,IAFvB,UAAUA,IAKjB8/D,IACA/0C,EAAO,GAAGA,QAAW+0C,KAGlB/0C,EC81EoB25H,CAAkBpkF,EAAYV,EAAY6kF,GAEjE,OAAI9wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAClB,WAAWioH,YACX/lJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UACzBioH,OAEP7zF,EAAK,4BAA4BlyD,KAAKumB,SAASlV,UAI/Cg5I,sBACJh+I,EACA+jJ,EACAvnG,EACAq8F,EACAphH,G,UAIA,KADmBA,aAAM,EAANA,EAAQiiH,kBAAwB,EAA8Bl9F,EAAQx8C,GAErF,OAGJ,GAAI64I,EAAc9gI,IAAI/X,EAAM84I,GAAc6L,uBAAwBZ,EAAUtsH,aAAM,EAANA,EAAQiiH,gBAChF,OAGJ,MAAMF,EAAiB,GAAAxnH,eAAA,OAAsBhyB,GAC7Cw5I,EAAe14H,KAAOijI,EAEtB,MAAMtK,EAAyC,CAC3C8J,cAAe5vJ,KAAKsjJ,eACpBznF,SAAU77D,KAAK0jJ,UACfjnH,SAAUz8B,KAAKyjJ,WAkCnB,IA/BI3/G,aAAM,EAANA,EAAQojH,sBACRpB,EAAmBoB,oBAAqB,GAG5CrB,EAAe3mJ,KAAO4mJ,GAElBhiH,aAAM,EAANA,EAAQ6qC,YAAY7qC,aAAM,EAANA,EAAQymH,aAC5B1E,EAAel3E,SAAW7qC,EAAO6qC,SACjCk3E,EAAe/hH,OAASA,EAAOymH,aACxBzmH,aAAM,EAANA,EAAQiiH,iBAEfF,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAakO,WAAY5kJ,EAAMy3B,EAAOiiH,gBACnFD,EAAmBC,eAAiBjiH,EAAOiiH,eAC3CF,EAAe/hH,OAnuEK,eAouEbssH,IAAa,GAAApyH,mBAAA,WAEpB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAavgH,WAAYn2B,GAC/D,GAA6BA,GAEpCw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAamO,aAAc7kJ,GACtD,KAAXw8C,GAAiB,GAAyCx8C,GAIjEw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAaoO,cAAe9kJ,GAEzEw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAaqO,aAAc/kJ,GAG5Ey5I,EAAmBI,YAAc75I,EAE7BrM,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI8yH,EAAiB,IAEjB9sH,aAAM,EAANA,EAAQiiH,kBACR6K,GAAkB9sH,EAAOiiH,gBACrBjiH,EAAOwsH,YAAcxsH,EAAOV,iBAE5BwtH,GAAkB,UAItB9sH,aAAM,EAANA,EAAQwsH,cACRM,GAAkB,cAAgB9sH,EAAOwsH,WAAa,YAGtDxsH,aAAM,EAANA,EAAQV,iBACRwtH,GAAkB,QAClBA,GAAkBxzD,GAA2Bt5D,EAAOV,gBAGxDwtH,EAAiBA,EAAelzD,UAE5BkzD,IACA/K,EAAeziH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOszJ,SAGZ,GAAI5wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI+yH,EAAkB,IAElB/sH,aAAM,EAANA,EAAQiiH,kBACR8K,GAAmB/sH,EAAOiiH,gBACtBjiH,EAAOwsH,YAAcxsH,EAAOV,iBAE5BytH,GAAmB,UAIvB/sH,aAAM,EAANA,EAAQwsH,cACRO,GAAmB/sH,EAAOwsH,WAAa,OAGvCxsH,aAAM,EAANA,EAAQV,iBACRytH,GAAmB,KAAOrzD,GAA4B15D,EAAOV,gBAGjEytH,EAAkBA,EAAgBnzD,UAE9BmzD,IACAhL,EAAeziH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOuzJ,SAIf3+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,WAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3rB,UACfw0I,EAAewL,iBAAmBvtH,EAAO9G,MAAM3rB,SAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3B,YACfwqH,EAAexqH,SAAWyI,EAAO9G,MAAM3B,WAG1B,QAAb,EAAAyI,aAAM,EAANA,EAAQ9G,aAAK,eAAE1B,uBACfuqH,EAAevqH,oBAAsBwI,EAAO9G,MAAM1B,oBAAoBxX,KAAKwtI,IAC5C,CACvB7kJ,MAAO,CACH3Q,MAAO,CAAEo+B,KAAMo3H,EAAG7kJ,MAAM3Q,MAAMo+B,KAAMC,UAAWm3H,EAAG7kJ,MAAM3Q,MAAMq+B,WAC9Dp+B,IAAK,CAAEm+B,KAAMo3H,EAAG7kJ,MAAM1Q,IAAIm+B,KAAMC,UAAWm3H,EAAG7kJ,MAAM1Q,IAAIo+B,YAE5DoC,QAAS+0H,EAAG7kF,oBAKhBzsE,KAAKmmJ,iBACQnmJ,KAAKmmJ,eAAejnJ,KACxB6mJ,iBAAmBD,EAAmBC,iBAC3C/lJ,KAAKmmJ,eAAe7qH,oBAAsBuqH,EAAevqH,qBAKrE4pH,EAAc//I,IAAI0gJ,GAGd0L,oBAAoBllJ,EAAc05I,GACtC,OAAO1C,GAAmB4C,uBAAuB12D,WAC5CvnE,GAASA,EAAKoT,QAAU/uB,GAAQ2b,EAAK+9H,iBAAmBA,IAIzDe,cAAc0K,EAA4BnlJ,EAAc05I,EAAiB,IAC7E,MAAM0L,EAAkBzxJ,KAAKuxJ,oBAAoBllJ,EAAM05I,GAuBvD,OAnBI0L,GAAmB,IACfD,IAAiBzO,GAAakO,WAC9BO,EAAezO,GAAa2O,iBACrBF,IAAiBzO,GAAa4O,iBACrCH,EAAezO,GAAa6O,uBAE5BJ,IAAiBzO,GAAa5gH,SAC9BqvH,IAAiBzO,GAAaqO,cAC9BI,IAAiBzO,GAAaoO,eAC9BK,IAAiBzO,GAAamO,eAE9BM,EAAezO,GAAa8O,wBAQ7B7xJ,KAAK8xJ,eAAeN,EAAc,GAAK,IAAMxxJ,KAAK8xJ,eAAeL,EAAiB,GAAK,IAAMplJ,EAGhGylJ,eAAenxJ,EAAaoxJ,GAChC,MAAMC,EAAe,IAAIn3J,WAAW,GAEpC,IAAImlB,EAAS,GACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIy3J,EAAQz3J,IAAK,CAE7B,IAAI23J,EAAQnvJ,KAAK+J,MAAMlM,EAAM,IACzBsxJ,EAAQ,IACRA,EAAQ,GAEZjyI,EAAS7e,OAAOuC,aAAauuJ,EAAQD,GAAgBhyI,EACrDrf,EAAMmC,KAAK+J,MAAMlM,EAAM,IAG3B,OAAOqf,EAGHqwI,kCAAkCroF,GACtC,MAAMkqF,EAAsBlyJ,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GACzG,IAAKkqF,EACD,OAAO,GAAAl0H,mBAAA,SAGX,OAAQk0H,EAAoBlzJ,MACxB,KAAK,EACD,MAA6C,UAAtCkzJ,EAAoBC,cACrB,GAAAn0H,mBAAA,MACA,GAAAA,mBAAA,SAEV,KAAK,EACD,OAAO,GAAAA,mBAAA,SAEX,KAAK,EACD,OAAOk0H,EAAoBE,YAAcF,EAAoBv2D,QACvD,GAAA39D,mBAAA,SACA,GAAAA,mBAAA,SAEV,KAAK,EACD,GAAIh+B,KAAKqyJ,+BAA+BH,GAAsB,CAC1D,MAAM1+C,EAAexzG,KAAKypH,WAAW6oC,kBAAkBJ,EAAoBxqF,MAC3E,GAAI8rC,GAAgBmM,GAAWnM,EAAa++C,eACxC,OAAO,GAAAv0H,mBAAA,SAGf,OAAOk0H,EAAoB9mC,SAAW,GAAAptF,mBAAA,OAA4B,GAAAA,mBAAA,SAGtE,KAAK,EACL,KAAK,EACD,OAAO,GAAAA,mBAAA,MAEX,KAAK,EACD,OAAO,GAAAA,mBAAA,QAIX+mH,4BAA4Br9E,GAChC,MAAMmM,EAA6C,CAC/CpE,YAAa/H,EAAK+H,YAClB+O,eAAgB9W,EAAK8W,iBAAkB,EACvC9O,UAAWhI,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAC7C21E,gBAAiB,IAGfu/E,EAAcxyJ,KAAKupH,gBAAgB9zC,yBACrCz1E,KAAK0jJ,UACL1jJ,KAAKwpH,SACL31C,GAGEqxE,EAAgB,IAAIC,GAI1B,IACKz9E,EAAK8W,gBACN9W,EAAKviC,QACoB,KAAzBuiC,EAAKviC,OAAOshC,UACZiB,EAAKviC,OAAOstH,qBACd,CACE,MAAM7wG,EAAU,SACVikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa5gH,QAASyf,GACnEsjG,EAAc//I,IAAI0gJ,GActB,OAXA2M,EAAYltI,SAASotI,IACjB,GAAIxN,EAAc9gI,IAAIsuI,GAClB,OAGJ,MAAM7M,EAAiB,GAAAxnH,eAAA,OAAsBq0H,GAC7C7M,EAAe14H,KAAO,GAAA6Q,mBAAA,OACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa4O,iBAAkBe,GAC5ExN,EAAc//I,IAAI0gJ,MAGf,CAAEX,iBAGLmN,+BAA+BnqF,GAGnC,OAAOA,EAAKkjD,UAAYljD,EAAKR,KAAKwkB,WAAWlxF,OAAS,GAIvD,SAAS21J,GAAiCn9C,GAG7C,MAAMnwE,EAAamwE,EAAajN,QAAQljE,WAAWwlB,QAC/C,CAACr2C,EAAG2X,MAAW3X,EAAEsgG,YAA0B,IAAV3oF,GAA0B,SAAX3X,EAAEnG,QAEtD,OACImnG,EAAajN,QAAQwG,SACrB,IACA1pE,EACKvf,KAAKtR,GACiB,IAAfA,EAAE8rD,SACK,IAAM9rD,EAAEnG,KACO,IAAfmG,EAAE8rD,SACF,KAAO9rD,EAAEnG,KAEbmG,EAAEnG,OAEZ7Q,KAAK,MACV,IAp+EW,GAAAyqJ,uBAAiD,GAw+E7D,MAAMd,GAAb,cACY,KAAAwN,aAA+D,IAAI70I,IAE3E,WACI,OAAO9d,KAAK2yJ,aAAarzJ,KAG7B6F,IAAI7H,GACA,MAAMs1J,EAAW5yJ,KAAK2yJ,aAAapuJ,IAAIjH,EAAM89B,OACxCw3H,EAEMl3J,MAAMuD,QAAQ2zJ,GACrBA,EAASv3J,KAAKiC,GAEd0C,KAAK2yJ,aAAaxtJ,IAAI7H,EAAM89B,MAAO,CAACw3H,EAAUt1J,IAJ9C0C,KAAK2yJ,aAAaxtJ,IAAI7H,EAAM89B,MAAO99B,GAQ3CiH,IAAIyd,GACA,OAAOhiB,KAAK2yJ,aAAapuJ,IAAIyd,GAGjCoC,IACIgX,EACAszB,EAKAvhC,EACA0lI,GAEA,MAAMD,EAAW5yJ,KAAK2yJ,aAAapuJ,IAAI62B,GACvC,QAAKw3H,KAIDlkG,GACOA,EAAUkkG,EAAUzlI,EAAM0lI,IAKzChrI,QACI7nB,KAAK2yJ,aAAa9qI,QAGtBjF,OAAOZ,GACH,OAAOhiB,KAAK2yJ,aAAa/vI,OAAOZ,GAGpC8wI,U,MACI,MAAM/vH,EAA0B,GAUhC,OATiB,QAAjB,EAAA/iC,KAAK2yJ,oBAAY,SAAErtI,SAAShoB,IACpB5B,MAAMuD,QAAQ3B,GACdA,EAAMgoB,SAAS0C,IACX+a,EAAM1nC,KAAK2sB,MAGf+a,EAAM1nC,KAAKiC,MAGZylC,EAGX,8BACI6vH,EACAzlI,EACA44H,G,MAEA,QAAK6M,IAIAl3J,MAAMuD,QAAQ2zJ,KAGNA,EAASrnF,MAAM7oE,GAAMA,EAAEyqB,OAASA,GAAQzqB,EAAExD,KAAKquJ,aAAexH,IAFhE6M,EAASzlI,OAASA,IAAqB,QAAb,EAAAylI,EAAS1zJ,YAAI,eAAEquJ,cAAexH,GAMvE,oCACI6M,EACAG,EACAC,G,MAEA,IAAKJ,EACD,OAAO,EAGX,GAAIl3J,MAAMuD,QAAQ2zJ,IACd,GAAIA,EAASrnF,MAAM7oE,IAAK,MAAC,QAAO,QAAN,EAAAA,EAAExD,YAAI,eAAEquJ,eAC9B,OAAO,OAGX,KAAkB,QAAb,EAAAqF,EAAS1zJ,YAAI,eAAEquJ,YAChB,OAAO,EAGf,OAAO,GC9uFR,MAAMI,GAkBT1hJ,YACYgnJ,EACA1pC,EACAg6B,EACA2P,EACSC,EACTC,EACA7sI,GANA,KAAA0sI,mBACA,KAAA1pC,kBACA,KAAAg6B,gBACA,KAAA2P,sBACS,KAAAC,YACT,KAAAC,mBACA,KAAA7sI,WArBJ,KAAA8sI,WAAa,IAAI/yE,GACjB,KAAAgzE,UAAY,CAChB9E,WAAW,EACXE,UAAW,EAEXC,eAAgB,EAChBC,cAAe,EACfC,oBAAqB,EAErBE,YAAa,EACbC,WAAY,EACZC,iBAAkB,GAYlBjvJ,KAAKuzJ,kBAAoBtpF,GAAmBjqE,KAAKujJ,cAAcr5E,WAAW,GAE1ElqE,KAAKszJ,UAAU9E,YAAcxuJ,KAAKumB,SAASqnI,WAG/CE,+BAA+B0F,EAA0BC,EAA4BzyI,GACjF,MACMhB,EADMhgB,KAAK0zJ,eAAeD,EAAS9mF,WAAkC,EAAG6mF,EAAMxyI,GACjEzc,IAAIkvJ,EAAS9mF,YAChC,OAAK3sD,EAIEA,EAAO6oC,QAAQnkC,GAAMA,EAAE/C,SAAW8xI,EAASxnF,aAHvC,GAMf8hF,wBACI4F,EACAtG,EACAuG,EACA5yI,GAEA,MAAMsnI,EAA8B,GAIpC,OAHYtoJ,KAAK0zJ,eAAeC,EAAMtG,EAAiBuG,EAAe5yI,GAElEsE,SAAS8rC,GAAMk3F,EAAQjtJ,QAAQ+1D,KAC5Bk3F,EAGX2F,cAEI,OADAjuJ,KAAKszJ,UAAU5E,UAAY1uJ,KAAKqzJ,WAAW7yE,4BACpCxgF,KAAKszJ,UAGRI,eACJC,EACAtG,EACAuG,EACA5yI,GAEA,MAAM6yI,EAAY,IAAI/1I,IAChBg2I,EAAiB,IAAIh2I,IAM3B,OAJA9d,KAAK+zJ,yBAAyBJ,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW7yI,GAC/FhhB,KAAKg0J,0BAA0BL,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW7yI,GAChGhhB,KAAKi0J,8BAA8BH,EAAgBF,EAAeC,EAAW7yI,GAEtE6yI,EAGHG,0BACJL,EACAtG,EACAuG,EACAM,EACA5L,EACAtnI,G,MAEA,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAEV,QAAxB,EAAAxgF,KAAKumB,SAASqnI,kBAAU,SAAEtoI,SAAQ,CAAC6uI,EAAct4F,KAC7C,GAAIs4F,EAAaC,mBACb,OAGJ,GAAIp0J,KAAKozJ,iBAAiBhvI,IAAIy3C,GAG1B,OAIJ,MAAMw4F,EAAsBr0J,KAAKs0J,qBAAqBt0J,KAAKumB,SAASqnI,WAAa/xF,GACjF77D,KAAKu0J,0BACDC,GAAuCL,GAA4B,GACnEt4F,EACA83F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACAtnI,MAIRhhB,KAAKszJ,UAAU1E,cAAgB5uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAGzEk0I,yBACJJ,EACAtG,EACAuG,EACAM,EACA5L,EACAtnI,GAEA,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAElCxgF,KAAKozJ,iBAAiB9tI,SAAQ,CAACmvI,EAAiB54F,KAE5C,MAAMw4F,EAAsBr0J,KAAKs0J,qBAAqBt0J,KAAKozJ,iBAAmBv3F,GAC9E77D,KAAKu0J,0BACDE,EACA54F,EACA83F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACAtnI,MAIRhhB,KAAKszJ,UAAU3E,eAAiB3uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAG1Ey0I,qBAAwBxwI,EAAqB+3C,GACjD,MACM64F,EAAa3+F,GADH1B,EAAiBwH,GACQ,eACnC84F,EAAcD,EAAa,IAGjC,MAAO,CAAEE,OAFM/4F,EAAS5B,SAAS,QAEhB46F,QADD/wI,EAAIM,IAAIswI,IAAe5wI,EAAIM,IAAIuwI,IAI3CJ,0BACJE,EACA54F,EACA83F,EACAtG,EACAyH,EACAlB,EACAE,EACAxL,EACAtnI,GAEA,GAA6BA,GAE7B,MAAO+zI,EAAclnF,EAAagC,GAAqB7vE,KAAKg1J,0BAA0Bn5F,GACtF,IAAKk5F,EACD,OAGJ,MAAME,EAAW,EAA8BF,EAAc,KAmE7D,GAlEAN,EAAgBnvI,SAAQ,CAAC4vI,EAAkB7oJ,EAAM8oJ,K,MAG7C,GAFAn1J,KAAKo1J,gBAAgBF,EAAkBC,IAElCn1J,KAAKq1J,uBAAuBH,EAAkB7oJ,EAAMyoJ,EAAgBF,OAAQO,GAC7E,OAOJ,IADkBn1J,KAAKs1J,WAAW3B,EAAMtnJ,EAAMghJ,GAE1C,OAIJ,GADwBrtJ,KAAKu1J,cAAclpJ,EAAM0oJ,EAAczM,GAE3D,OAIJ,GAAI4M,EAAiBpE,YAmBjB,YAlBA9wJ,KAAKw1J,qBACDN,EAAiBpE,YACjB,CACI2E,YAAa,CACT3iG,WAAYzmD,EACZsgE,WAAYtgE,EACZ4/D,WAAY8oF,EACZl5F,WACAo5F,WACAplF,qBAEJhC,cACA8M,OAAQu6E,EAAiBv6E,OACzBxtD,KAAM+nI,EAAiBpE,YAAY3jI,KACnCijI,SAAU8E,EAAiBpE,YAAYV,UAE3C0D,GAKR,MAAM4B,EAAsB11J,KAAK21J,qCAC7BZ,EACA1oJ,EACAunJ,EACAvnJ,EACAwhE,EACAhS,GAGJ77D,KAAKghJ,WAAWsH,EAAS,CACrBj8I,OACA8/D,MAAOynF,EACPj5E,OAAQu6E,EAAiBv6E,OACzBh5D,OAAQozI,EACR5nI,KAA+B,QAAzB,EAAA+nI,EAAiB9E,gBAAQ,QAAIwF,GAAsCV,EAAiB/nI,MAC1FkhI,cAAeqH,EAAoBrH,cACnCrxH,MAAO04H,EAAoB14H,YAO9B83H,EAAgBF,SAAWE,EAAgBD,QAC5C,OAGJ,MAAMY,EAAcz1J,KAAK61J,gBAAgBh6F,GACpC45F,GAIaz1J,KAAKs1J,WAAW3B,EAAM8B,EAAY9oF,WAAY0gF,KAKxCrtJ,KAAKu1J,cAAcE,EAAY9oF,WAAY8oF,EAAYxpF,WAAYq8E,IAK3FtoJ,KAAKw1J,qBACD,CACIM,WAAYj6F,EACZk6F,aAAcN,EAAY9oF,WAC1Bx/C,KAAM,GAAA0R,WAAA,OACNuxH,SAAU,GAAApyH,mBAAA,QAEd,CAAEy3H,cAAa5nF,cAAa1gD,KAAM,GAAA0R,WAAA,OAAmBuxH,SAAU,GAAApyH,mBAAA,QAC/D81H,IAIAuB,uBACJH,EACA7oJ,EACAuoJ,EACAO,G,MAIA,SAAIP,GAAUM,EAAiB/nI,OAAS,GAAA0R,WAAA,cAIpC7+B,KAAKumB,SAASyvI,oBAAuBb,KAAkC,QAAvB,EAAAD,EAAiBv6E,cAAM,eAAE89B,mBlChZ9E,SAAqCpsG,GACxC,OAAQk9D,GAAyBl9D,KAAUo9D,GAAep9D,IAASq9D,GAAgBr9D,IkCmZxE,CAA4CA,GAG/C4nJ,8BACJH,EACAF,EACAtL,EACAtnI,GAEA,GAA6BA,GAE7B,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAElCszE,EAAexuI,SAAS2wI,IACpBj2J,KAAKszJ,UAAUrE,kBAAoBgH,EAAiB32J,KAEpD22J,EAAiB3wI,SAAS4wI,I,QACtB,GAAItC,EAAe,CAWf,GAAI5zJ,KAAKuzJ,kBAAkBjpF,cAAclmD,IAAI8xI,EAAgBT,YAAY55F,UACrE,OAMJ,GAAIq6F,EAAgBT,YAAYxpF,WAAY,CACxC,MAAMkqF,EAAWn2J,KAAKuzJ,kBAAkBlpF,eAAekB,MAClDjxE,GAAMA,EAAE0wE,aAAekrF,EAAgBT,YAAYxpF,aAExD,GACIkqF,GAC2B,KAA3BA,EAASzuF,KAAKjB,UACd0vF,EAASzuF,KAAK4D,QAAQ7c,MAAMn0D,GAAMA,EAAE+R,KAAK/O,QAAU44J,EAAgBT,YAAY3iG,aAE/E,QAUZ,GALwB9yD,KAAKu1J,cACzBW,EAAgBT,YAAY9oF,WAC5BupF,EAAgBT,YAAYxpF,WAC5Bq8E,GAGA,OAGJ,MAAMoN,EAAsB11J,KAAK21J,qCACS,QAAtC,EAAAO,EAAgBT,YAAYxpF,kBAAU,QAAIiqF,EAAgBT,YAAY9oF,WACtEupF,EAAgBT,YAAY3iG,WAC5B8gG,EACAsC,EAAgBT,YAAY9oF,WAC5BupF,EAAgBroF,YAChBqoF,EAAgBT,YAAY55F,UAGhC77D,KAAKghJ,WAAWsH,EAAS,CACrBj8I,KAAM6pJ,EAAgBT,YAAY9oF,WAClCR,MAAOynF,EACPj5E,OAAQu7E,EAAgBv7E,OACxBxtD,KAA8B,QAAxB,EAAA+oI,EAAgB9F,gBAAQ,QAAIwF,GAAsCM,EAAgB/oI,MACxFxL,OAAQu0I,EAAgBT,YAAYxpF,WACpCoiF,cAAeqH,EAAoBrH,cACnCrxH,MAAO04H,EAAoB14H,cAKvCh9B,KAAKszJ,UAAUzE,oBAAsB7uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAG/E21I,qBACJrpF,EACAjtE,EACA40J,GAKA,IAAKA,EAAe1vI,IAAI+nD,EAAM2pF,YAAa,CACvC,MAAMhyI,EAAM,IAAIhG,IAGhB,OAFAgG,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,QAC5B40J,EAAe3uJ,IAAIgnE,EAAM2pF,WAAYhyI,GAIzC,MAAMA,EAAMgwI,EAAevvJ,IAAI4nE,EAAM2pF,YACrC,IAAKhyI,EAAIM,IAAI+nD,EAAM4pF,cAEf,YADAjyI,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,GAIhC,MAAMk3J,EAAetyI,EAAIvf,IAAI4nE,EAAM4pF,cAChB/1J,KAAKq2J,wBAAwBD,EAAcl3J,IAC5C,GAMlB4kB,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,GAGxBm3J,wBAAwB9wH,EAAuBC,GACnD,MAAM8wH,EAAkB/wH,EAAKsoC,YAAcroC,EAAMqoC,YACjD,GAAwB,IAApByoF,EACA,OAAOA,EAGX,MAAMC,EAAgBhxH,EAAKkwH,YAAYR,SAAWzvH,EAAMiwH,YAAYR,SACpE,OAAsB,IAAlBsB,EACOA,EAGPhxH,EAAKo1C,SAAWn1C,EAAMm1C,QACd,GAGPp1C,EAAKo1C,QAAUn1C,EAAMm1C,OACf,EAGJ,IAAgCp1C,EAAKkwH,YAAY9oF,WAAYnnC,EAAMiwH,YAAY9oF,YAGlFqoF,0BAA0Bn5F,GAC9B,MAAMiP,EAAc9qE,KAAKuzJ,kBAAkBjpF,cAAc/lE,IAAIs3D,GAC7D,GAAIiP,EACA,MAAO,CACHA,EAAYE,WACZrB,GAAemB,GACf,CACIhB,WAAY,EACZC,oBAAoB,EACpBiB,WAAYF,EAAYE,aAG7B,CACH,MAAM6E,EAAoB7vE,KAAKw2J,kCAAkC36F,GACjE,MAAO,CACHgU,EAAkB7E,WAClB4E,GAAoCC,GACpCA,IAKJgmF,gBAAgBh6F,GAIpB,OAMA,SAA2B/pD,GACvB,MAAMk5D,EAAal5D,EAAOk5D,WAC1B,IAAKA,EACD,OAGJ,MAAM7gD,EAAQ6gD,EAAWjqE,YAAY,KAC/B01J,EAAiBtsI,EAAQ,EAAI6gD,EAAWxkC,UAAUrc,EAAQ,QAAKrrB,EAC/DmtE,EAAa9hD,EAAQ,EAAI6gD,EAAWxkC,UAAU,EAAGrc,QAASrrB,EAChE,MAAO,CACHg0D,WAAY2jG,EACZ9pF,WAAY8pF,UAAkBzrF,EAC9BiB,aACApQ,WACAo5F,SAAU,EAA8BjqF,EAAY,KACpD6E,kBAAmB/9D,GApBhB4kJ,CADE,aAHA/9F,GAAmBD,GAAYmD,IAIf77D,KAAKw2J,kCAAkCniG,EAAiBwH,IAG5D77D,KAAKw2J,kCAAkC36F,IAsB5Dy5F,WAAW3B,EAActnJ,EAAcghJ,GAC3C,GAAwB,IAApBA,EACA,OAAOsG,IAAStnJ,EAGpB,GAAIsnJ,EAAK34J,QAAU,GAAKqR,EAAKrR,QAAU,EACnC,OAAO,EAGX,IAAKgF,KAAKumB,SAASowI,eAAgB,CAC/B,MAAMxsI,EAAoB,MAAZwpI,EAAK,IAA0B,MAAZtnJ,EAAK,IAAcA,EAAKrR,OAAS,EAAI,EAAI,EAC1E,OAAI24J,EAAK,GAAG3gG,sBAAwB3mD,EAAK8d,GAAO6oC,qBAIzC,EAA8B2gG,EAAMtnJ,GAG/C,OAAOrM,KAAKumB,SAASowI,eAAehD,EAAMtnJ,GAGtCuqJ,eAAevqJ,GACnB,OAAOrM,KAAKmzJ,UAAU/uI,IAAI/X,EAAM84I,GAAc0R,8BAE1CtB,cAAclpJ,EAAcsV,EAA4B2mI,GAC5D,GAAItoJ,KAAK42J,eAAevqJ,GACpB,OAAO,EAGX,MAAMolD,EAAQ62F,EAAQ/jJ,IAAI8H,GAC1B,SAAIolD,aAAK,EAALA,EAAOhD,MAAM/pC,GAAMA,EAAE/C,SAAWA,KAUhC60I,kCAAkC36F,GACtC,OAAO77D,KAAKupH,gBAAgBryC,uBAAuBrb,EAAU77D,KAAKizJ,kBAG9D0C,qCACJ3qF,EACA2B,EACAinF,EACAvF,EACAxgF,EACAhS,G,gBAGA,MAAMgQ,EAAkB7rE,KAAKuzJ,kBAAkBjpF,cAAc/lE,IAAIs3D,GACjE,GAAIgQ,EAAiB,CAEjB,GAAsC,KAAlCA,EAAgBnE,KAAKjB,SAAmC,CAGxD,MAAMqqF,EAA4C,QAA9B,EAAuB,QAAvB,EAAAjlF,EAAgBd,eAAO,eAAEoB,aAAK,eAAE7uE,MACpD,GAAIqvE,EAGA,MAAO,CACH0hF,cAAe,GAAGyC,UAAejlF,EAAgBb,cAAc2B,IAC/D3vC,MAAO,IAER,GAAI8zH,EAGP,MAAO,CACHzC,cAAe,GAAGyC,IAClB9zH,MAAO,IAMnB,GACI2vC,GACkC,KAAlCd,EAAgBnE,KAAKjB,WACpBoF,EAAgBnE,KAAKsE,iBACxB,CAEE,MAAM8qF,EAAajrF,EAAgBnE,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IAC7E,GAAImqF,EAAY,CAGZ,MAAMhG,EAA8B,QAAhB,EAAAgG,EAAW3qF,aAAK,eAAE7uE,MACtC,MAAO,CACH+wJ,cAAe,GAAGyC,UAAenkF,IACjC3vC,MAAO,IAOf,GAAIguC,IAAea,EAAgBb,WAC/B,MAAO,CACHqjF,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOynF,GAC3B/nF,EACA7rE,KAAKujJ,sBAKxB,GAAI52E,EAAY,CAGnB,MAAMwpF,EAAWn2J,KAAKuzJ,kBAAkBlpF,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IACpF,GAAImrF,GAAuC,KAA3BA,EAASzuF,KAAKjB,WAA0C0vF,EAASzuF,KAAKsE,iBAAkB,CACpG,MAAMC,EAAakqF,EAASzuF,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IACtE,IAAIV,EAYA,MAAO,CACHoiF,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOynF,GAC3BuC,EACAn2J,KAAKujJ,gBAnBP,CAGZ,MAAMuN,EAA8B,QAAhB,EAAA7kF,EAAWE,aAAK,eAAE7uE,MACtC,GAAIwzJ,EACA,MAAO,CACHzC,cAAe,GAAGyC,IAClB9zH,MAAO,KAmBvB,MAAMivC,EAAmD,QAAtC,EAAAjsE,KAAKuzJ,kBAAkBpoF,uBAAe,eAAE5mE,IAAIs3D,GAC/D,GAAIoQ,EAAY,CAGZ,MAAM6kF,EAA8B,QAAhB,EAAA7kF,EAAWE,aAAK,eAAE7uE,MACtC,MAAO,CACH+wJ,cAAe,GAAGyC,UAAe7kF,EAAW5/D,KAAK/O,SAASqvE,IAC1D3vC,MAAO,KAKnB,MAAO,CACHqxH,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6uE,GACI,CAAEthE,KAAMsgE,EAAYR,MAAOynF,GAC3B5zJ,KAAKuzJ,kBACLvoF,EACA6C,EACA7tE,KAAKujJ,cACLvjJ,KAAKkzJ,sBAKfkC,gBAAgBF,EAAoCC,GACpDD,EAAiBv6E,OACjB36E,KAAKszJ,UAAUvE,cACRoG,GACPn1J,KAAKszJ,UAAUtE,aAIfhO,WAAWsH,EAA8BtoI,GAC7C,IAAI4I,EAAU0/H,EAAQ/jJ,IAAIyb,EAAO3T,MAC5Buc,IACDA,EAAU,GACV0/H,EAAQnjJ,IAAI6a,EAAO3T,KAAMuc,IAG7BA,EAAQvtB,KAAK2kB,IAIrB,SAASw0I,GAAuCL,EAA4BgB,GACxE,MAAO,CACH7vI,QAAQgD,GACJ6rI,EAAa4C,QAAQzxI,SAASpmB,IACrBA,EAAK83J,mBAIV1uI,EACI,CACIwoI,YAAa5xJ,EAAKitE,MAClBh/C,KAAMjuB,EAAKiuB,KACXijI,SAAUlxJ,EAAKkxJ,UAEnBlxJ,EAAKmN,KACL8oJ,QAOb,SAASS,GAAsCzoI,GAClD,OAAQA,GACJ,KAAK,GAAA0R,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,UACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,QACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,YACD,OAAO,GAAAb,mBAAA,YAEX,KAAK,GAAAa,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,UACD,OAAO,GAAAb,mBAAA,UAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,MACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,QACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,KACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,IACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,WACD,OAAO,GAAAb,mBAAA,WAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,cACD,OAAO,GAAAb,mBAAA,cAEX,QACI,QCn3BL,MAAMi5H,GACT,6BACInkG,EACAkV,EACA8pD,EACA9wG,GAIA,GAFA,GAA6BA,GAEJ,IAArBgnD,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAQ7D,MAPoC,CAChCqN,KAAMymD,EACN3lC,KAAM+pI,GAAclvF,EAAa8pD,GACjCt3F,IAAKwtC,EAAYj5D,KACjBtC,MAAOu7D,EAAYv7D,MACnBs3B,eAAgBikC,EAAYv7D,OAQxC,sCACIovD,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAEA,GAA6BA,GAE7B,MASMm2I,EATa,IAAIC,GACnBv7F,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAG6Bq2I,YAEjC,OAAOF,EAAcn8J,OAAS,EAAIm8J,OAAgBr4J,EAGtD,sCACIkpE,EACA8D,EACAgmD,EACA9wG,GAKA,IAAIs2I,EACJ,GAJA,GAA6Bt2I,GAIJ,IAArBgnD,EAAYhpE,KACZs4J,EAAYtvF,EAAYN,UACrB,GAAyB,IAArBM,EAAYhpE,KAAgC,CAEnD,MAAMivG,EAAY6jB,EAAUoF,sBAAsBlvD,GAClD,GAAIimC,GAAa/H,GAAoB+H,GAAY,CAI7C,MAAMspD,EAAmB12C,GACrB5S,EACA,WACA,IAIJ,GAAIspD,EAAkB,CAClB,MAAMC,EAAiB1lC,EAAU2lC,gBAAgBF,GACjD,GAAIC,GAAkB1wD,GAAW0wD,GAAiB,CAC9C,MAAME,EAAYH,EAAiB58E,OAAOy+B,kBAC1C,GAAIs+C,GAAaA,EAAU18J,OAAS,EAAG,CACnC,MAAM28J,EAAkBD,EAAU,GACL,IAAzBC,EAAgB34J,OAChBs4J,EAAYK,EAAgBjwF,UAQpD,IAAK4vF,EACD,OAGJ,MAEMM,EAFa,IAAIC,GAA2BP,EAAWxrF,EAAcgmD,EAAW9wG,GAErDq2I,YAEjC,OAAOO,EAAc58J,OAAS,EAAI48J,OAAgB94J,EAGtD,4BAA4B0hJ,EAA6B94E,GAIrD,IAAIowF,EAAatX,EAAa,GAC9B,IAAK,MAAMt4E,KAAQs4E,EACf,IAAI,GAAuCt4E,KAAU,GAAuC4vF,MACtE,IAAd5vF,EAAKlpE,MAAmD,IAAdkpE,EAAKlpE,QAC/C84J,EAAa5vF,EAITA,EAAKR,OAASA,GACd,MAMhB,OAAOowF,GAIf,MAAMD,WAAmC,GAGrC5rJ,YACY8rJ,EACAxU,EACA95B,EACAu2B,GAER9zI,QALQ,KAAA6rJ,aACA,KAAAxU,gBACA,KAAA95B,aACA,KAAAu2B,qBANJ,KAAAgY,eAA8C,GAWtDX,YAEI,OADAr3J,KAAK+vF,KAAK/vF,KAAK+3J,YACR/3J,KAAKg4J,eAGPjnE,UAAUrpB,GAGf,IAAIuwF,EAQJ,GAVA,GAA6Bj4J,KAAKggJ,oBAIG,KAAjCt4E,EAAKhB,eAAeD,SACpBwxF,EAAWvwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BwxF,EAAWvwF,EAAKhB,eAAeW,YAG/B4wF,EAAU,CACV,MAAMzX,EAAexgJ,KAAKypH,WAAWmC,2BAA2BqsC,GAE5DzX,GAIAA,EAAal7H,SAAS4iD,IAClBloE,KAAKk4J,+BAA+BD,EAAW/vF,MAK3D,OAAO,EAGFyqB,kBAAkBjrB,GACvB,GAA6B1nE,KAAKggJ,oBAKlC,MAAMmY,EAAen4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAgClD,OA/BIyxF,GACA/7C,GAAiB+7C,GAAeryD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWo/B,6BAA6BtzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM6iC,EAAax3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK86J,EACD,OAGJ,MAAMC,EAAar4J,KAAKypH,WAAWguC,gBAAgBW,GAC7CE,EAAgBF,EAAWz9E,OAAOy+B,kBAEnCi/C,GAIDlyD,GAAgBkyD,IAAezzD,GAAU6L,gBAAgB4nD,IACzDC,EAAchzI,SAAS4iD,IACnBloE,KAAKk4J,+BAA+BxwF,EAAKL,WAAYa,UAM9D,EAGHgwF,+BAA+BD,EAAoBjwF,GACvD,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAGJ,GAA0B,IAAtBA,EAAapuH,MAA2D,IAAtBouH,EAAapuH,KAC/D,OAGJ,MAAMu5J,EAA8B,CAChClsJ,KAAM4rJ,EAAS36J,MACf6vB,KAAM+pI,GAAc9pC,EAAcptH,KAAKypH,YACvCjvF,IAAK4yF,EAAar+G,KAClBtC,MAAO2gH,EAAa3gH,MACpBs3B,eAAgBqpF,EAAa3gH,OAKjC,IAAI+rJ,EAAsDx4J,KAAKg4J,eAAezsF,MACzEktF,GAAaA,EAASvoJ,GAAGsqB,MAAQ+9H,EAAS/9H,KAAOuqC,GAAe0zF,EAASvoJ,GAAGzD,MAAO8rJ,EAAS9rJ,SAG5F+rJ,IACDA,EAAe,CACXtoJ,GAAIqoJ,EACJG,WAAY,IAEhB14J,KAAKg4J,eAAe38J,KAAKm9J,IAG7B,MAAMG,EAAmBpzF,GACrB0yF,EAASn8J,MACTm8J,EAASn8J,MAAQm8J,EAASj9J,OAC1BgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAEvCgxG,EAAaE,WAAWr9J,KAAKs9J,IAIrC,MAAMvB,WAAmC,GAGrCnrJ,YACYy3I,EACA3D,EACA6Y,EACArV,EACA95B,EACAu2B,GAER9zI,QAPQ,KAAAw3I,YACA,KAAA3D,cACA,KAAA6Y,eACA,KAAArV,gBACA,KAAA95B,aACA,KAAAu2B,qBARJ,KAAA6Y,eAA8C,GAatDxB,YAEI,OADAr3J,KAAK+vF,KAAK/vF,KAAKujJ,cAAcr5E,WACtBlqE,KAAK64J,eAGP9nE,UAAUrpB,GAGf,IAAIuwF,EASJ,GAXA,GAA6Bj4J,KAAKggJ,oBAIG,KAAjCt4E,EAAKhB,eAAeD,SACpBwxF,EAAWvwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BwxF,EAAWvwF,EAAKhB,eAAeW,YAI/B4wF,GAAYA,EAAS36J,QAAU0C,KAAK+/I,YAAa,CACjD,MAAMS,EAAexgJ,KAAKypH,WAAWmC,2BAA2BqsC,GAE5DzX,GACsBA,EACjB18H,KAAKokD,GACKloE,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,KAEhFrf,QAAQqf,QAAkBppE,IAATopE,IACJzZ,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK44J,iBAC9E54J,KAAK84J,+BAA+Bb,GAKhD,OAAO,EAGFtlE,kBAAkBjrB,GAGvB,GAFA,GAA6B1nE,KAAKggJ,oBAE9Bt4E,EAAKL,WAAW/pE,QAAU0C,KAAK+/I,YAAa,CAI5C,MAAMoY,EAAen4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAC9CyxF,GACA/7C,GAAiB+7C,GAAeryD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWo/B,6BAA6BtzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM6iC,EAAax3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK86J,EACD,OAGJ,MAAMC,EAAar4J,KAAKypH,WAAWguC,gBAAgBW,GAC7CE,EAAgBF,EAAWz9E,OAAOy+B,kBAEnCi/C,GAIDC,EAAc7pG,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK44J,iBAC9E54J,KAAK84J,+BAA+BpxF,EAAKL,eAMzD,OAAO,EAGHyxF,+BAA+Bb,GACnC,MAAMc,EAAgB,GAAqCd,GAC3D,IAAKc,EACD,OAGJ,IAAIC,EACJ,GAA+B,KAA3BD,EAActyF,SAAmC,CACjD,MAAMwyF,EAAc1zF,GAAsB,EAAG,EAAGvlE,KAAKujJ,cAAcp2E,gBAAgB3lB,OAC7E+Q,EAAWG,GAAY14D,KAAK0jJ,WAElCsV,EAAa,CACT3sJ,KAAM,YAAYksD,IAClBprC,KAAM,GAAA0R,WAAA,OACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAOwsJ,EACPl1H,eAAgBk1H,QAEjB,GAA+B,KAA3BF,EAActyF,SAAmC,CACxD,MAAMyyF,EAAc3zF,GAChBwzF,EAAcj9J,MACdi9J,EAAcj9J,MAAQi9J,EAAc/9J,OACpCgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGvCwxG,EAAa,CACT3sJ,KAAM,WACN8gB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAOysJ,EACPn1H,eAAgBm1H,OAEjB,CACH,MAAMC,EAAgB5zF,GAClBwzF,EAAc1sJ,KAAKvQ,MACnBi9J,EAAc1sJ,KAAKvQ,MAAQi9J,EAAc1sJ,KAAKrR,OAC9CgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGvCwxG,EAAa,CACT3sJ,KAAM0sJ,EAAc1sJ,KAAK/O,MACzB6vB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAO0sJ,EACPp1H,eAAgBo1H,GAMxB,IAAIC,EAAsDp5J,KAAK64J,eAAettF,MACzE8tF,GAAaA,EAASh8J,KAAKm9B,MAAQw+H,EAAWx+H,KAAOuqC,GAAes0F,EAASh8J,KAAKoP,MAAOusJ,EAAWvsJ,SAGpG2sJ,IACDA,EAAe,CACX/7J,KAAM27J,EACNN,WAAY,IAEhB14J,KAAK64J,eAAex9J,KAAK+9J,IAG7B,MAAMT,EAAmBpzF,GACrB0yF,EAASn8J,MACTm8J,EAASn8J,MAAQm8J,EAASj9J,OAC1BgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAEvC4xG,EAAaV,WAAWr9J,KAAKs9J,IAIrC,SAASzB,GAAclvF,EAA0B8pD,GAC7C,IAAIwnC,EAEJ,OAAQtxF,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACDs6J,EAAa,GAAAz6H,WAAA,MACb,MAEJ,KAAK,EACD,GAAImpC,EAAYojD,SAAU,CACtB,MAAMu3B,EAAW7wB,EAAUoF,sBAAsBlvD,GAE7CsxF,EADA3W,GAAYhjC,GAAWgjC,GACV,GAAA9jH,WAAA,SAEA,GAAAA,WAAA,YAGjBy6H,EAAa,GAAAz6H,WAAA,SAEjB,MAEJ,QACIy6H,EAAa,GAAAz6H,WAAA,SAIrB,OAAOy6H,EChcJ,MAAMC,GAGTttJ,YACautJ,EACAC,EACA3mG,EACA0tF,EACQkZ,GAJR,KAAAF,uBACA,KAAAC,eACA,KAAA3mG,aACA,KAAA0tF,eACQ,KAAAkZ,YAPJ,KAAAC,WAA8B,GAU/C,gBACI,OAAO35J,KAAK25J,WAGhBC,gBAAgBC,GACQ,IAAhBA,EAAK7+J,SAILgF,KAAK05J,WACL15J,KAAK05J,UAAUG,GAGnB75J,KAAK25J,WAAWt+J,QAAQw+J,KAIzB,MAAMC,GACT7tJ,YACYs3I,EACAG,EACAqW,EACAC,EACAvwC,EACAu2B,GALA,KAAAuD,gBACA,KAAAG,YACA,KAAAqW,oBACA,KAAAC,sBACA,KAAAvwC,aACA,KAAAu2B,qBAGZia,eAAeC,EAAWl6J,KAAKujJ,cAAcr5E,WACzC,MAAMiwF,EAAY,IAAIra,GAClB9/I,KAAK+5J,kBAAkBjnG,WACvB9yD,KAAK+5J,kBAAkBvZ,aACvBxgJ,KAAKypH,WACLzpH,KAAKggJ,mBACLka,GACkD,GAGhD5R,EAA2B,GACjC,IAAK,MAAMtoI,KAAUm6I,EAAUzZ,WAEvB1gJ,KAAKg6J,qBAAuBh6I,EAAO0nD,OAAS1nE,KAAK+5J,kBAAkBN,eACnEnR,EAAQjtJ,KAAK,CACT0T,KAAM/O,KAAK0jJ,UACXj3I,MAAO,CACH3Q,MAAOmpE,GAAwBjlD,EAAOvT,MAAM3Q,MAAOkE,KAAKujJ,cAAcp2E,gBAAgB3lB,OACtFzrD,IAAKkpE,GACDT,GAAUmB,OAAO3lD,EAAOvT,OACxBzM,KAAKujJ,cAAcp2E,gBAAgB3lB,UAOvD,OAAO8gG,GAIR,MAAM8R,GACT,6BACIrjC,EACAl7D,EACA6L,EACAoqD,EACAuoC,EACAr5I,GAEA,GAA6BA,GAE7B,MAAMw/H,EAAeV,GAAwBW,uBACzC/4E,EACAoqD,GACwB,EACxB9wG,EACA+1G,GAGJ,GAA4B,IAAxBypB,EAAaxlJ,OACb,OAMJ,MAAMw+J,EAAuBhZ,EAAa/xF,MAAMyZ,I,QAE5C,GAAIA,EAAKn5D,OAAS8sD,EACd,OAAO,EAGX,MAAMy+F,EAAY,GAAsCpyF,EAAKR,MAI7D,OAA2B,KAAvB4yF,EAAU7zF,UAA4D,KAAvB6zF,EAAU7zF,UAM9B,MAAV,QAAjB,EAAS,QAAT,EAAAyB,EAAKR,YAAI,eAAEviC,cAAM,eAAEshC,WACnByB,EAAKR,OAASQ,EAAKR,KAAKviC,OAAOkiC,cAQvC,OAAO,IAAIkyF,GAAiBC,EAAsB9xF,EAAMA,EAAKpqE,MAAOkjJ,EAAc6Z,GAGtF,iCACItjC,EACAjrD,EACAjQ,EACAp/B,EACAq1F,EACAuoC,EACAr5I,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,YAAa5C,IAAT4oE,GAKkB,KAAlBA,EAAKjB,SAIFzmE,KAAKu6J,sBAAsBxjC,EAAcl7D,EAAU6L,EAAMoqD,EAAWuoC,EAAUr5I,QATrF,EAYJ,qBACI8qD,EACAjQ,EACA2+F,EACAC,EACA3oC,EACA9wG,GAEA,MAAM05I,EAAgB,IAAIZ,GACtBhuF,EACAjQ,EACA2+F,EACAC,EACA3oC,EACA9wG,GAGJw5I,EAAiBZ,gBAAgBc,EAAcT,mBClHvD,IAAKU,GC+CMv1H,GCnGCw1H,GCDAC,GCwJKC,GAsBAC,GAmBAC,GA4BAC,GA4BAC,GAmBAC,GA8BAC,GA+BAC,GA4BAC,GAmBAC,IJnUjB,SAAKZ,GACD,mBACA,uBACA,uBAHJ,CAAKA,QAAU,KAMR,MAAMa,GA2IT,YACYC,EACAhyC,EACAiyC,EACRC,EACQC,EACAC,EACA13I,EACA40F,EACAt9F,GAQR,GAhBQ,KAAAggJ,MACA,KAAAhyC,aACA,KAAAiyC,kBAEA,KAAAE,qBACA,KAAAC,wBACA,KAAA13I,QACA,KAAA40F,gBACA,KAAAt9F,SAZK,KAAA0kI,SAAW,IAAIriI,IACf,KAAAg+I,iBAAmB,IAAIhrH,IAcpC9wC,KAAK+7J,mBAAqBzlG,GAAaqlG,GAEvC37J,KAAKg8J,aAAeh8J,KAAKi8J,YAAY1uJ,MAAM,KAC3CvN,KAAKk8J,gBAAkBl8J,KAAKm8J,eAAe5uJ,MAAM,KAE7CvN,KAAKg8J,aAAahhK,SAAWgF,KAAKk8J,gBAAgBlhK,OAElD,YADAgF,KAAKo8J,kBAAmB,GAI5B,IAAI9hK,EAAI,EACR,IAAKA,EAAI,EAAGA,EAAI0F,KAAKg8J,aAAahhK,OAAS,GACnCgF,KAAKg8J,aAAa1hK,KAAO0F,KAAKk8J,gBAAgB5hK,GADRA,KAM9C0F,KAAKo8J,iBAAmB9hK,IAAM0F,KAAKg8J,aAAahhK,OAAS,EACzD82D,EAAO9xD,KAAKmkB,QAAUw2I,GAAWp4H,QAAUviC,KAAKo8J,iBAAkB,4CAxKtE,uBACIC,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACAt7I,GAEA,GAAKq7I,EAAer9F,WAAWhJ,WAAWjnD,GAA1C,CAIA,GAAI+pD,GAAOujG,EAAer9F,WAAYjwD,GAClC,OAAO/O,KAAKu8J,QAAQF,EAAgBhrF,EAAeygD,EAAW/iH,EAAMutJ,EAAS3B,GAAWt4H,KAAMrhB,GAC3F,GAAI43C,GAAYyjG,EAAer9F,WAAYjwD,GAAO,CAErD,GAAyE,YlDo1B9E,SACH6mD,EACA4mG,EACAC,GAEA,GAAI7mG,EAAG2L,aAAai7F,KAAkB5mG,EAAG2L,aAAak7F,GAClD,MAAO,OAGX,MAAMpsF,EAAgB1Y,GAAuC6kG,EAAcC,GAAenlH,GAAMse,EAAG2L,aAAajqB,KAGhH,OAA6B,IAAzB+4B,EAAcr1E,QAAqC,OAArBq1E,EAAc,IAAoC,OAArBA,EAAc,GAClE,UAGJ,QkDp2BKqsF,CAAuBL,EAAer9F,WAAYjwD,EAAMutJ,GACxD,OAKJ,IAAIK,EAAqB5mG,GAAahnD,EAAM,gBAC5C,IAAKstJ,EAAer9F,WAAWhJ,WAAW2mG,KACtCA,EAAqB5mG,GAAahnD,EAAM,gBACnCstJ,EAAer9F,WAAWhJ,WAAW2mG,IACtC,OAIR,OAAO38J,KAAKu8J,QACRF,EACAhrF,EACAygD,EACA6qC,EACA5mG,GAAaumG,EAAS5jG,GAAYikG,IAClChC,GAAWp4H,OACXvhB,KAOZ,uBACIq7I,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACA9b,EACAx/H,GAEA,IAAKq7I,EAAer9F,WAAWhJ,WAAWjnD,GACtC,OAGJ,MAAM6tJ,EAAgBpc,EAAa33F,QAC9Bt6C,GAAMq3E,GAAmBr3E,IAAMo3E,GAAsBp3E,IAAMu3E,GAAsBv3E,KAGtF,OAA6B,IAAzBquJ,EAAc5hK,OAIXgF,KAAKu8J,QACRF,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACA3B,GAAWt+J,OACXugK,EACA57I,QAZJ,EAgBI,eACJq7I,EACAhrF,EACAygD,EACA+qC,EACAlB,EACA38J,EACA89J,EACA97I,GAEA,MAAM+hD,EAAUsO,EAAc0yE,oBAAoB8Y,GAC5C7xF,EAAaqxF,EAAenlF,uBAAuB2lF,EAAgB95F,GACzE,IAAKiI,EAAWA,WACZ,OAGJ,MAAM+xF,EAAgBV,EAAenlF,uBAAuBykF,EAAmB54F,GAC/E,IAAKg6F,EAAc/xF,WACf,OAGJhqD,EAAQ,GAAAxI,kBAAA,GAAqBskJ,GAAuBA,EAAsB97I,EAC1E,MAAMw/H,EAAe,GAAAhoI,kBAAA,GAAqBskJ,GAAuB,GAAKA,EAmBtE,OAlB4B,IAAxBtc,EAAaxlJ,SAGbwlJ,EAAanlJ,KAAKghG,GAAkCwgE,IAChDjoF,GAAWioF,KAEXR,EAAezoF,cACXipF,EACA95F,EACAiQ,GAA+BhI,EAAWA,aAG9CqxF,EACKjmF,uBAAuBymF,EAAgB95F,GAAyB,GAChEz9C,SAAS9S,GAAMguI,EAAcnlJ,KAAKghG,GAAkC7pF,QAI1E,IAAIgpJ,GACPa,EAAer9F,WACf8yD,EACA+qC,EACAlB,EACA3wF,EACA+xF,EACA/9J,EACAwhJ,EACAx/H,GA4CRg8I,iBAAiBnhG,EAAkBiQ,GAC/B,OAAQ9rE,KAAKmkB,OACT,KAAKw2I,GAAWp4H,OACZ,OAAOviC,KAAKi9J,wBAAwBphG,EAAUiQ,GAClD,KAAK6uF,GAAWt4H,KACZ,OAAOriC,KAAKk9J,wBAAwBrhG,EAAUiQ,GAClD,KAAK6uF,GAAWt+J,OACZ,OAAO2D,KAAKm9J,wBAAwBthG,EAAUiQ,GAClD,QACI,OAAO3Z,EAAYnyD,KAAKmkB,MAAO,GAAGnkB,KAAKmkB,qBAI3Cg5I,wBAAwBthG,EAAkBiQ,G,YAC9C,MAAMquF,EAAY,IAAIra,GAC2B,QAA7C,EAAA9jD,GAAuBh8F,KAAK+4G,cAAc,WAAG,QAAI,GACjD/4G,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAIrC0D,EAAmB3D,GAAmB6B,EAAa5B,WAAsC,GAIzFisF,EAAWvoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAehrE,KAAKm8J,iBAE7EiB,EAAc,IAAItsH,IAClBusH,EAAa,IAAIv/I,IACvB,IAAK,MAAMkC,KAAUm6I,EAAUzZ,UAAW,CACtC,MAAM4c,EAAYt9I,EAAO0nD,KAEzB,GAA2B,KAAvB41F,EAAU72F,SAGV,SAGJ,GAAIk0B,GAAiB2iE,GAAY,CAE7B,MAAMC,EAA2B,QAAhB,EAAAD,EAAUn4H,cAAM,eAAEA,OAC7B43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAG/B,GAAgC,IAA5B8tF,EAASjyF,QAAQtwE,OAEjBgF,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,OACnE,CAKH,MAAM1xF,EAAeiyF,EAAUn4H,OAC/BnlC,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAIJ,MAAMO,EAAiB,CACnBv/D,KAAMg/D,EAAah/D,KAAK/O,MACxB6uE,MAAyB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,OAG/B0C,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAmvF,EACA,CAACnxF,KAKb,SAGJ,MAAMiyF,EAAa7iE,GAAqCsiE,GACxD,GAAIO,IAAeP,GAAqC,KAAxBO,EAAWp3F,SAWvC,SAGJ,MAAMuE,EACqC,KAAvC6yF,EAAWn3F,eAAeD,SACpBo3F,EAAWn3F,eAAeW,WACa,KAAvCw2F,EAAWn3F,eAAeD,SAC1Bo3F,EAAWn3F,oBACX5nE,EACV,IAAKksE,EAGD,SAGJ,MAAM8yF,EACqC,QADxB,EAAA99J,KAAKypH,WACnBmC,2BAA2B5gD,UAAW,eACrCniB,QACGt6C,GACGw3E,GAAmBx3E,KACE,KAApBA,EAAEm5D,KAAKjB,UAA2D,KAApBl4D,EAAEm5D,KAAKjB,YAE7Dq3F,GAAoC,IAAtBA,EAAW9iK,QAO9Bg0D,EAASquG,EADQS,EAAW,GAAGp2F,MACA,IAAM,KAAIrsE,KAAKwiK,GAKlD,IAAK,MAAO77I,EAAK1kB,KAAU+/J,EAAY,CACnC,IAAIU,EACJ,GAAI/9J,KAAKg+J,sBAAsBlyF,EAAc9pD,EAAK1kB,GAAQ,CACtD,MAAM0tE,EAAahrE,KAAKi+J,wBAAwBrwF,EAAkBuoF,GAClE,GAAqB,KAAjBn0I,EAAIykD,SACAuE,GACA+yF,EAAsB/yF,EACtBhrE,KAAKk+J,uBACDriG,EACAiQ,EACAsxF,EACCp7I,EAAImjB,OAAsBlgC,KAC3B+c,KAGJ+7I,EAAsB/7I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKm8J,eACzDn8J,KAAKy9J,wBAAwB5hG,EAAU75C,EAAIlQ,OAAQg6D,EAAc9rE,KAAKm8J,sBAG1E,GAAInxF,EACA+yF,EAAsB/yF,EACtBhrE,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACCp7I,EAAImjB,OAA0BmmC,QAC/BtpD,OAED,CACH,MAAMu7I,EAAWv7I,EAAImjB,OACf43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAG/BsuF,EAAsB/7I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKm+J,mBACzDn+J,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,GACtE/8J,KAAKy9J,wBAAwB5hG,EAAU75C,EAAI3V,KAAMy/D,EAAc9rE,KAAKm+J,yBAGzE,CACH,MAAMnzF,EAAahrE,KAAKi+J,wBAAwBrwF,EAAkBuoF,GAC9DnrF,EACA+yF,EAAsB/yF,GAEtB+yF,EAAsB/9J,KAAKm8J,eAC3Bn8J,KAAK29J,gBACDhwF,GACI,GACAC,EACA5tE,KAAKm8J,eACLvsF,GAAoC5vE,KAAK67J,uBACzC/vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,sBAKzE,IAAK,MAAM/E,KAAQpqE,EACf0C,KAAKy9J,wBAAwB5hG,EAAU6L,EAAKhB,eAAgBoF,EAAciyF,IAK9EE,wBACJrwF,EACAuoF,G,QAEA,GAAIA,GAAuC,KAA3BA,EAASzuF,KAAKjB,SAC1B,OAAuB,QAAhB,EAAA0vF,EAASprF,eAAO,eAAEoB,OAAQgqF,EAASprF,QAAQoB,MAAM7uE,MAAQ0C,KAAKm8J,eAClE,GAAoC,QAAhC,EAAAvuF,EAAiBzC,uBAAe,eAAE/mD,IAAIpkB,KAAK+7J,oBAAqB,CACvE,MAAMqC,EAAexwF,EAAiBzC,gBAAgB5mE,IAAIvE,KAAK+7J,oBAC/D,OAAOqC,EAAajyF,MAAQiyF,EAAajyF,MAAM7uE,MAAQ8gK,EAAa/xJ,KAAK/O,OAMzE0gK,sBACJlyF,EACAI,EACAmyF,G,MAEA,MAAMC,EACY,QAAd,EAAApyF,EAASC,aAAK,QACS,KAAtBD,EAASzF,SACJyF,EAASp6D,OAAO49D,UAAUxD,EAASp6D,OAAO49D,UAAU10E,OAAS,GAC7DkxE,EAAS7/D,KAEbm0I,EAAeV,GAAwBW,uBACzC6d,EACAt+J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QAET,GAA4B,IAAxB+kI,EAAaxlJ,OACb,OAAO,EAGX,MAAMm/J,EAAY,IAAIra,GAClBwe,EAAWhhK,MACXkjJ,EACAxgJ,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAG3C,IAAK,MAAMlqD,KAAUm6I,EAAUzZ,UAC3B,KACInmD,GAAmBv6E,EAAO0nD,OAC1B+yB,GAAcz6E,EAAO0nD,OACrBgzB,GAAuB16E,EAAO0nD,OAC9BizB,GAAiB36E,EAAO0nD,OACxBkzB,GAAkB56E,EAAO0nD,OAMxB22F,EAAiB5vG,MAAMjgD,GAAMg2D,GAAUuB,cAAcv3D,EAAGwR,EAAO0nD,SAChE,OAAO,EAIf,OAAO,EAGHu1F,wBAAwBphG,EAAkBiQ,GAC9C,MAAMquF,EAAY,IAAIra,GAClB9/I,KAAKu+J,eACLv+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAK3C,IAAK,MAAMlqD,KAAUm6I,EAAUzZ,UAC3B1gJ,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBAIxEjB,wBAAwBrhG,EAAkBiQ,GAC9C,MAAMquF,EAAY,IAAIra,GAClB9/I,KAAKu+J,eACLv+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAGrCkzF,EAAc,IAAItsH,IAClBw3G,EAAU6R,EAAUzZ,UAG1B1gJ,KAAKw+J,wBAAwB3iG,EAAUiQ,EAAcsxF,EAAa9U,GAGlEtoJ,KAAKy+J,8BAA8B5iG,EAAUiQ,EAAcsxF,EAAa9U,GAGpEmW,8BACJ5iG,EACAiQ,EACAsxF,EACA9U,GAEA,GAAIzsF,IAAa77D,KAAK07J,gBAElB,OAGJ,IAAI9tF,EAGJ,IAAK,MAAMluC,KAAQ1/B,KAAK0+J,uCACpB7iG,EACA8iG,GAAoBje,QAAQ50E,EAAa5B,WAAWrhB,QAC/CpoD,IAAO6nJ,EAAQ75F,MAAM/pC,GAAM8/C,GAAUuB,cAActlE,EAAE0kC,OAASzgB,EAAEgjD,WAEtE,CAGC,GAFA1nE,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,gBAEtEr9H,EAAKk/H,YACN,SAQJ,MAAMrB,EAAW79H,EAAKsrC,WAAW7lC,OAGjC,IAAK,MAAMkmC,KAAgB3rC,EAAKk/H,YAC5B5+J,KAAK09J,2BAA2B7hG,EAAUiQ,EAAcsxF,EAAaG,EAASjyF,QAASD,GAG3FuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAkC,GACI9vE,KAAKy7J,IACLz7J,KAAK+7J,mBACL/7J,KAAK+7J,oBACqB,GACT,GAErBr8H,EAAKk/H,YAAY96I,KAAKxpB,I,MAClB,MAAO,CAAE+R,KAAM/R,EAAE+R,KAAK/O,MAAO6uE,MAAc,QAAP,EAAA7xE,EAAE6xE,aAAK,eAAE7uE,aAOzDkhK,wBACJ3iG,EACAiQ,EACAsxF,EACA9U,G,cAEA,IAAI16E,EACJ,IAAK,MAAM5tD,KAAUsoI,EAAS,CAC1B,MAAMgV,EAAYt9I,EAAO0nD,KAEzB,GAA2B,KAAvB41F,EAAU72F,SAAmC,CAE7CzmE,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAI5jE,GAAmB+iE,GAAY,CAC/B,IAAKziE,GAAuByiE,GAExB,SAGJ,MAAMuB,EAAiBrkE,GAA6B8iE,EAAW,IAiB/D,GACwC,IAApCuB,EAAenvF,UAAU10E,QACM,MAAV,QAArB,EAAA6jK,EAAe15H,cAAM,eAAEshC,YACtBo4F,EAAe15H,OAAOgnC,OACvBnsE,KAAKk8J,gBAAgBlhK,OAAS,EAChC,CACEgF,KAAK87J,iBAAiBl2I,IAAIi5I,EAAe15H,QAEzCnlC,KAAKy9J,wBACD5hG,EACAgjG,EACA/yF,EACA,GAAG9rE,KAAKm8J,qBAAqBn8J,KAAKm+J,sBAEtC,SAKJn+J,KAAKy9J,wBAAwB5hG,EAAUgjG,EAAgB/yF,EAAc9rE,KAAKm8J,gBAC1E,SAGJ,GAAI1hE,GAAc6iE,GAAY,CAE1Bt9J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAIzjE,GAAuB4iE,GAAY,CACnC,IAAKziE,GAAuByiE,GAExB,SAGJ,MAAMuB,EAAiBrkE,GAA6B8iE,EAAW,IACzDC,EAAWsB,EAAe15H,OAK1B25H,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAM1zF,KAAgBkyF,EAASjyF,QAC5BtrE,KAAKg/J,kBAAkB3zF,EAAah/D,MACpCyyJ,EAAgBzjK,KAAKgwE,GAErB0zF,EAAW1jK,KAAKgwE,GAIxB,GAA0B,IAAtB0zF,EAAW/jK,OAAc,CAIzBgF,KAAKy9J,wBACD5hG,EACAgjG,EACA/yF,EACA9rE,KAAKw9J,kBACD3hG,EACAgjG,EAAepvF,YAAc,GACF,IAGnC,SAGJ,GAA+B,IAA3BqvF,EAAgB9jK,OAIhB,SAMJ,GAAIuiK,EAASzrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAK0+J,uCAAuC7iG,EAAU,CAAC0hG,EAASzrJ,SAC/E9R,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,eAKnF,IAAK,MAAM1xF,KAAgByzF,EACvB9+J,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAIRuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACA5tE,KAAKm8J,eACL2C,EAAgBh7I,KAAKxpB,I,MAUjB,MAAO,CAAE+R,KARLi8I,EAAQ/4D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE+R,QAAS,EACzCrM,KAAKm+J,mBACL7jK,EAAE+R,KAAK/O,MAMF6uE,MAJXm8E,EAAQ/4D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE6xE,SAAU,EAC1CnsE,KAAKm+J,mBACE,QAAP,EAAA7jK,EAAE6xE,aAAK,eAAE7uE,YAM/B,SAGJ,GAAIq9F,GAAiB2iE,GAAY,CAC7B,GAAIF,EAAYh5I,IAAIk5I,EAAU1gJ,IAE1B,SAGJ,MAAM2gJ,EAA2B,QAAhB,EAAAD,EAAUn4H,cAAM,eAAEA,OAC7B43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAM/B,GAAIzvE,KAAKg/J,kBAAkB1B,GAAY,CACnCt9J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAgC,IAA5BZ,EAASjyF,QAAQtwE,OAEjBgF,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,GACtE/8J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,wBACrE,CAEH,MAAM9yF,EAAeiyF,EAAUn4H,OAG/B,GAAIo4H,EAASzrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAK0+J,uCAAuC7iG,EAAU,CAAC0hG,EAASzrJ,SAC/E9R,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,eAInF/8J,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAGJuC,EACIA,UACA3D,GAAmB6B,EAAa5B,WAAsC,GAY1E,MAAM0B,EAAiB,CACnBv/D,KAAMrM,KAAKm+J,mBACXhyF,OACsB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,SAAU0C,KAAKu+J,eAC7Bv+J,KAAKm+J,mBACa,QAAlB,EAAA9yF,EAAac,aAAK,eAAE7uE,OAGlC0C,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAmvF,EACA,CAACnxF,KAIb,SAGJ,GAAIgvB,GAAkB0iE,GAAY,CAC9B,GAAIF,EAAYh5I,IAAIk5I,EAAU1gJ,IAE1B,SAIJ5c,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAIJ,MAAMjiE,EAAQ4jD,GAAwBW,uBAClC6c,EACAt9J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QACPotC,QAAQt6C,GAAMw3E,GAAmBx3E,KAEnC,GAAIvO,KAAKo8J,iBAILp8J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,yBAI5E,GACIjiE,aAAK,EAALA,EAAOztC,MACFlgD,KACIA,EAAEktF,eACDltF,EAAEm5D,MAA4B,KAApBn5D,EAAEm5D,KAAKjB,UAClBzmE,KAAK87J,iBAAiB13I,IAAI7V,EAAEm5D,SALzC,CAQI,MAAMm2F,EAAa7iE,GAAqCsiE,GACxD,GAA+B,MAAV,QAAjB,EAAAO,EAAW14H,cAAM,eAAEshC,UAAyC,CAE5DzmE,KAAKy9J,wBAAwB5hG,EAAUgiG,EAAY/xF,EAAc9rE,KAAKm8J,gBACtE,SAKJ,MAAM8C,EAAej/J,KAAKypH,WAAWmC,2BAA2BiyC,EAAW14H,OAAOkiC,YAClF,IAAK43F,GAAwC,IAAxBA,EAAajkK,OAK9B,SAMJgF,KAAKy9J,wBAAwB5hG,EAAUgiG,EAAY/xF,EAAc9rE,KAAKm8J,qBAItEn8I,EAAO0nD,KAAKpqE,QAAU0C,KAAKm+J,oBAC3Bn+J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,qBAM5EO,uCAAuC7iG,EAAkBqjG,GAC7D,GAAIrjG,IAAa77D,KAAK07J,gBAElB,MAAO,GAGX,MACMyD,EAAoC,aADjBxmG,GAAmBD,GAAYmD,IAElDujG,EAAoB/qG,EAAiBwH,GAErCwjG,EAAsG,GAC5G,IAAK,MAAMr0F,KAAck0F,EAAa,CAElC,GAA+B,IAA3Bl0F,EAAWyE,YACX,SAGJ,MAAMzvD,EAAShgB,KAAKs/J,kCAAkCt0F,EAAYm0F,EAAcC,GAChF,IAAKp/I,EACD,SAGJ,MAAM+8I,EAAgBjtF,GAClB9vE,KAAKy7J,IACLz7I,EAAOvS,IACPuS,EAAOu/I,MACmB,GACT,GAGrBF,EAAShkK,KAAK,CAAE2vE,aAAY+xF,gBAAe6B,YAAa5+I,EAAO4+I,cAGnE,OAAOS,EAGHC,kCACJt0F,EACAm0F,EACAC,GAEA,MAAMz3F,EAAaF,GAAcuD,GACjC,IAAKrD,EACD,OAGJ,IAAImJ,EAAanJ,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAC5E,IAAK81E,EAAY,CAGb,GAAoC,IAAhC9F,EAAW0E,UAAU10E,OASrB,OATmC,CACnC,MAAMm5D,EAAYoc,GAAgC6uF,EAAmBp0F,EAAWyE,aAChF,IAAKtb,EACD,OAIJ2c,EAAa/a,GAAa5B,EAAW,gBAO7C,GAAIn0D,KAAK07J,kBAAoB5qF,IAAequF,EACxC,MAAO,CAAE1xJ,IAAKzN,KAAK+7J,mBAAoBwD,KAAMzuF,GAQjD,MAAMguF,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAM1zF,KAAiBL,EAAW7lC,OAA0BmmC,QACzDtrE,KAAKg/J,kBAAkB3zF,EAAah/D,MACpCyyJ,EAAgBzjK,KAAKgwE,GAErB0zF,EAAW1jK,KAAKgwE,GAKxB,OAA0B,IAAtB0zF,EAAW/jK,OACJ,CAAEyS,IAAKzN,KAAK+7J,mBAAoBwD,KAAMv/J,KAAK+7J,oBAIvB,IAA3B+C,EAAgB9jK,OACT,CAAEyS,IAAKzN,KAAK+7J,mBAAoBwD,KAAMv/J,KAAK07J,iBAI/C,CACHjuJ,IAAKzN,KAAK+7J,mBACVwD,KAAMv/J,KAAK07J,gBACXkD,YAAa,IAAIE,IAIjBE,kBAAkB/G,GACtB,MAAM/7D,EAAQl8F,KAAKypH,WAAWmC,2BAA2BqsC,GACzD,QAAK/7D,IAKGA,EAAMztC,MAAMlgD,GAAMw3E,GAAmBx3E,IAAMA,EAAEixJ,oBAGjDhC,kBAAkBiC,EAAyBC,EAAyBC,GACxE,MAAM9jG,EAAW4jG,IAAoBz/J,KAAK07J,gBAAkB17J,KAAK+7J,mBAAqB0D,EAGhFz0F,EAAa00F,EACb5vF,GACI9vE,KAAKy7J,IACL5/F,EACA77D,KAAK+7J,mBACL4D,GACkB,GAEtB3/J,KAAKm8J,eAEX,GAAIwD,GAAwB30F,EAAW/Q,SAASj6D,KAAKm+J,oBAAqB,CACtE,MAAMyB,EACF50F,IAAehrE,KAAKm+J,mBACd,EACAnzF,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS,GACkB,MAAvEgwE,EAAWA,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS,GAC5D,EAEJ,EAEJA,EAASgwE,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS4kK,EAG9D7C,EAAgB/xF,EAAWhpE,OAAO,EAAGhH,GAC3C,OAAO+hK,EAAc/hK,OAAS,EAAI+hK,EAAgB,IAItD,OAAO/xF,EAGX60F,WACI,MAAM7iI,EAA0B,GAGhC,OAFAh9B,KAAKmgJ,SAAS76H,SAAS8rC,GAAMp0B,EAAM3hC,QAAQ+1D,KAEpCp0B,EAGX,qBACI,OAAOh9B,KAAKg8J,aAAah8J,KAAKg8J,aAAahhK,OAAS,GAGxD,kBACI,OAAOgF,KAAK47J,mBAAmB5wF,WAGnC,yBACI,OAAOhrE,KAAKk8J,gBAAgBl8J,KAAKk8J,gBAAgBlhK,OAAS,GAG9D,qBACI,OAAOgF,KAAK67J,sBAAsB7wF,WAG9BkzF,uBACJriG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,GAEA9/J,KAAK+/J,+BACDlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EAAc,IAKlB1C,EAAYx3I,IAAIk6I,EAAehuJ,OAAO8K,IACtCkjJ,EAAehuJ,OAAO49D,UAAUpqD,SAAS9kB,GAAM48J,EAAYx3I,IAAIplB,EAAEoc,MAC7DkjJ,EAAe3zF,OACfixF,EAAYx3I,IAAIk6I,EAAe3zF,MAAMvvD,IAIrC8gJ,2BACJ7hG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,GAEA9/J,KAAK+/J,+BACDlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EAAc,IAKlB1C,EAAYx3I,IAAIk6I,EAAezzJ,KAAKuQ,IAChCkjJ,EAAe3zF,OACfixF,EAAYx3I,IAAIk6I,EAAe3zF,MAAMvvD,IAIrCmjJ,+BACJlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EACAE,GAEA,MAAMvzJ,EpCtaP,SACHwzJ,EACAC,GAEA,IAAIC,EACJ,GAAyB,IAArBF,EAAUjlK,QAAkC,IAAlBklK,EAE1BC,EAAWF,EAAU,QAClB,GAAIC,IAAkBD,EAAUjlK,OAAS,EAAG,CAE/C,MAAMc,EAAQ0oE,GAAUmB,OAAOs6F,EAAUC,EAAgB,IAEzDC,EAAW,CAAErkK,QAAOd,OADLwpE,GAAUmB,OAAOs6F,EAAUC,IAAkBpkK,OAEzD,CAEH,MAAMA,EAAQmkK,EAAUC,GAAepkK,MAEvCqkK,EAAW,CAAErkK,QAAOd,OADLilK,EAAUC,EAAgB,GAAGpkK,MAAQA,GAIxD,OAAOqkK,EoCkZWC,CACV90F,EACAA,EAAQikB,WAAWn+B,GAAMA,IAAM0uG,KAGnC9/J,KAAKy9J,wBAAwB5hG,EAAUpvD,EAAOq/D,EAAc,IAG5DsxF,EAAYx3I,IAAIk6I,EAAeljJ,IAO/B,IAAIyjJ,EAA4B,EAChC,IACIA,EAA4B/0F,EAAQtwE,OAAS,EAC7CqlK,GAA6B,GAGxBjD,EAAYh5I,IAAIknD,EAAQ+0F,GAA2BzjJ,IAFxDyjJ,KAOJ,IAAmC,IAA/BA,EAAkC,CAGlC,MAAMx0F,EAAkB2uB,GAA6BslE,EAAgBE,GACjEn0F,GACA7rE,KAAKsgK,oBACDzkG,EvB80Bb,SAA+B0kG,EAA0BpzF,GAC5D,MAAM1gE,EAAQi5D,GAAwB66F,EAAepzF,EAAgB3lB,OAG/DiyC,EA2BV,SACIhtF,EACA+zJ,EACArzF,GAEA,MAAMq5E,EAAar5E,EAAgB7I,OAAOq1B,kBAAkB6mE,GAC5D,GAAIha,EAAa,EACb,OAGJ,IAAIia,EAAeja,EACnB,KAAOia,EAAetzF,EAAgB7I,OAAOt4C,MAAOy0I,IAAgB,CAChE,MACMC,EAAah7F,GADLyH,EAAgB7I,OAAOgB,UAAUm7F,GACGtzF,EAAgB3lB,OAClE,GAAI/6C,EAAM1Q,IAAIm+B,OAASwmI,EAAW5kK,MAAMo+B,KACpC,MAIR,IAAK,IAAI/P,EAAQq8H,EAAYr8H,EAAQs2I,EAAct2I,IAAS,CACxD,MAAMnJ,EAAQmsD,EAAgB7I,OAAOgB,UAAUn7C,GAC/C,GAAmB,KAAfnJ,EAAMhiB,MAA+C,IAAfgiB,EAAMhiB,KAKhD,OADmB0mE,GAAwB1kD,EAAOmsD,EAAgB3lB,OAChD1rD,OArDF6kK,CAChBl0J,EACA+3D,GAAUmB,OAAO46F,GACjBpzF,GAGJ,OAAIssB,EACO,CAAE39F,MAAO2Q,EAAM3Q,MAAOC,IAAK09F,GAIlChtF,EAAM1Q,IAAIm+B,OAASizC,EAAgB3lB,MAAMx7B,MAAQ,EAC1Cvf,EAGJ,CAAE3Q,MAAO2Q,EAAM3Q,MAAOC,IAAK,CAAEm+B,KAAMztB,EAAM1Q,IAAIm+B,KAAO,EAAGC,UAAW,IuBh2BzDymI,CAAsB/0F,EAAiBC,EAAaqB,iBACpD,SAGL,GAAIkzF,GAA6B,GAAKA,EAA4B/0F,EAAQtwE,OAAS,EAAG,CAGzF,MAAMc,EAAQ0oE,GAAUmB,OAAO2F,EAAQ+0F,IACjCrlK,EAASwpE,GAAUmB,OAAO2F,EAAQ+0F,EAA4B,IAAMvkK,EAC1EkE,KAAKy9J,wBAAwB5hG,EAAU,CAAE//D,QAAOd,UAAU8wE,EAAc,KAIxE2xF,wBAAwB5hG,EAAkBpvD,EAAkBq/D,EAA4B+0F,GAC3E/0F,EAAa10C,KAAKp1B,OAAOyK,EAAM3Q,MAAO2Q,EAAMzR,UAC5C6lK,GAKjB7gK,KAAKsgK,oBAAoBzkG,EAAU6J,GAAwBj5D,EAAOq/D,EAAaqB,gBAAgB3lB,OAAQq5G,GAGnGlD,gBAAgB3gI,GACpBA,EAAM1X,SAASrhB,GAAMjE,KAAKsgK,oBAAoBr8J,EAAE43D,SAAU53D,EAAEwI,MAAOxI,EAAEwoE,mBAGjEq0F,qBAAqBC,EAA2Ct0J,G,MAKpE,OAJIwhD,EAAS8yG,KACTA,EAAkD,QAAjC,EAAA/gK,KAAKmgJ,SAAS57I,IAAIw8J,UAAe,QAAI,IAGnDA,EAAel4G,QAAQ5kD,GAA4B,KAAtBA,EAAEwoE,iBAA0B9H,GAAkB1gE,EAAEwI,MAAOA,KAGvFu0J,aAAaD,EAA2C/jI,G,MACxDixB,EAAS8yG,KACTA,EAAkD,QAAjC,EAAA/gK,KAAKmgJ,SAAS57I,IAAIw8J,UAAe,QAAI,IAG1D5xG,EAAoB4xG,GAAiBzpH,GAAMta,EAAMuyD,WAAWtrF,GAAMA,IAAMqzC,KAAM,IAG1EgpH,oBAAoBzkG,EAAkBpvD,EAAcggE,GACxD,MAAMzvC,EAAQgyB,EAAShvD,KAAKmgJ,SAAUtkF,GAAU,IAAM,KACtD,GAAwB,KAApB4Q,EAAwB,CAExB,MAAMw0F,EAAYjhK,KAAK8gK,qBAAqB9jI,EAAOvwB,GAC/Cw0J,EAAUjmK,OAAS,IAEnBgF,KAAKghK,aAAahkI,EAAOikI,GAGzBj8F,GACIv4D,EACAw0J,EAAUn9I,KAAKvV,GAAMA,EAAE9B,UAQ/BuwB,EAAMyxB,MAAMxqD,GAAM8gE,GAAe9gE,EAAEwI,MAAOA,IAAUxI,EAAEwoE,kBAAoBA,KAI9EzvC,EAAM3hC,KAAK,CAAEwgE,WAAUpvD,QAAOggE,oBAG1BmxF,wCACJ/hG,EACAqlG,EACAp1F,EACAsxF,EACAxvF,EACA5C,EACAY,GAIA,MAAMuqF,EAAWvoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IAC9E,GAAImrF,GAAuC,KAA3BA,EAASzuF,KAAKjB,WAA0C0vF,EAASzuF,KAAKsE,iBAAkB,CACpG,MAAMhvC,EAAQ2uC,GAAwCC,EAAgBuqF,EAAUrqF,GAChF,GAAIqqF,EAASzuF,OAASw5F,EAGlB,OAAOlkI,EAAMlZ,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,oBAM5E,GAAIzsE,KAAKo8J,kBAA8C,IAA1BxwF,EAAe5wE,QAAiC,IAAjBgiC,EAAMhiC,OAAc,CAC5E,MAAMimK,EAAYjhK,KAAK8gK,qBAAqBjlG,EAAU7+B,EAAM,GAAGvwB,OAC/D,GAAyB,IAArBw0J,EAAUjmK,OACV,MAAO,CAAC,CAAE6gE,WAAUpvD,MAAOuwB,EAAM,GAAGvwB,MAAOggE,gBAAiBzvC,EAAM,GAAGyvC,kBAClE,CACH,MAAMN,EACFP,EAAe,GAAGO,QAAUnsE,KAAKm+J,mBAC3Bn+J,KAAKu+J,eACL3yF,EAAe,GAAGO,MAEtBQ,EAAau0F,EAAkB51F,QAAQC,MACxCjxE,IAAK,MAAC,OAAAA,EAAE+R,KAAK/O,QAAU0C,KAAKu+J,iBAAyB,QAAP,EAAAjkK,EAAE6xE,aAAK,eAAE7uE,SAAU6uE,KAEtE,GAAIQ,EAMA,OALA3sE,KAAKghK,aAAanlG,EAAUolG,GACxBt0F,EAAWR,OACXixF,EAAYx6I,OAAO+pD,EAAWR,MAAMvvD,IAGjC,CACH,CACIi/C,WACApvD,MAAOi5D,GAAwBiH,EAAWtgE,KAAMy/D,EAAaqB,gBAAgB3lB,OAC7EilB,gBAAiBzsE,KAAKm+J,uBAQ9C,OAAOxwF,GACH/B,EACAgC,EACA5C,EACA4E,GAAoC5vE,KAAK67J,uBACzC/vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,qBAIrE,MAAMkyF,WAA4B,GAAlC,c,oBACqB,KAAA1sH,QAA4B,GAEpC89C,KAAKroB,GACNmjB,GAAiBnjB,IAIrBx7D,MAAM6jF,KAAKroB,GAGNmrB,gBAAgBnrB,GAErB,OADA1nE,KAAKiyC,QAAQ52C,KAAKqsE,IACX,EAGJ,eAAel2D,GAClB,MAAM2oJ,EAAY,IAAIwE,GAGtB,OAFAxE,EAAUpqE,KAAKv+E,GAER2oJ,EAAUloH,SK1zClB,MAAMkvH,GAAb,cACY,KAAAC,OAAmB,GAE3BC,WAAWtyJ,GACP/O,KAAKohK,OAAO/lK,KAAK0T,GAGrBuyJ,WACI,OAAOthK,KAAKohK,OAGhBG,iBAGI,IAAIC,EAAa,EACjBxhK,KAAKohK,OAAO97I,SAAQ,CAACvW,EAAMob,KACnBpb,EAAO/O,KAAKohK,OAAOI,KACnBA,EAAar3I,MAIF,IAAfq3I,IACAxhK,KAAKohK,OAASphK,KAAKohK,OAAOxjK,MAAM4jK,GAAYx8J,OAAOhF,KAAKohK,OAAOxjK,MAAM,EAAG4jK,KAIhFC,QAAQC,GACJ,GAAIA,EAAeN,OAAOpmK,SAAWgF,KAAKohK,OAAOpmK,OAC7C,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0F,KAAKohK,OAAOpmK,OAAQV,IACpC,GAAI0F,KAAKohK,OAAO9mK,KAAOonK,EAAeN,OAAO9mK,GACzC,OAAO,EAIf,OAAO,GJ5Cf,MAAMsrC,GACF35B,YAAYuuB,EAAK4G,EAAY5jB,EAASmoB,GAClC3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAExB,UACI,OAAOkB,KAAKymC,KAEhB,iBACI,OAAOzmC,KAAK0mC,YAEhB,cACI,OAAO1mC,KAAK2mC,SAEhBb,QAAQr5B,GACJ,GAAIA,EAAO,CACP,MAAM3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAChC,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,SAEhBE,OAAOtJ,EAAShgB,GACZ,IAAK,IAAIkgB,KAAUF,EACf,GAAIoI,GAAiBzO,cAAcuG,GAAS,CAExC,MAAMjxB,EAAQk1J,GAAmBjkI,EAAOjxB,OAElC65B,EAActmC,KAAKgmC,SAASv5B,EAAM3Q,OAClCyqC,EAAYvmC,KAAKgmC,SAASv5B,EAAM1Q,KACtCiE,KAAK4mC,SAAW5mC,KAAK4mC,SAASJ,UAAU,EAAGF,GAAe5I,EAAOtG,KAAOp3B,KAAK4mC,SAASJ,UAAUD,EAAWvmC,KAAK4mC,SAAS5rC,QAEzH,MAAMugC,EAAYz4B,KAAK4C,IAAI+G,EAAM3Q,MAAMo+B,KAAM,GACvCsB,EAAU14B,KAAK4C,IAAI+G,EAAM1Q,IAAIm+B,KAAM,GACzC,IAAI8M,EAAchnC,KAAK6mC,aACvB,MAAM+6H,EAAmBC,GAAmBnkI,EAAOtG,MAAM,EAAOkP,GAChE,GAAI9K,EAAUD,IAAcqmI,EAAiB5mK,OACzC,IAAK,IAAIV,EAAI,EAAGK,EAAMinK,EAAiB5mK,OAAQV,EAAIK,EAAKL,IACpD0sC,EAAY1sC,EAAIihC,EAAY,GAAKqmI,EAAiBtnK,QAIlDsnK,EAAiB5mK,OAAS,IAC1BgsC,EAAY9gB,OAAOqV,EAAY,EAAGC,EAAUD,KAAcqmI,GAG1D5hK,KAAK6mC,aAAeG,EAAcA,EAAYppC,MAAM,EAAG29B,EAAY,GAAGv2B,OAAO48J,EAAkB56H,EAAYppC,MAAM49B,EAAU,IAGnI,MAAM4K,EAAO1I,EAAOtG,KAAKp8B,QAAUurC,EAAYD,GAC/C,GAAa,IAATF,EACA,IAAK,IAAI9rC,EAAIihC,EAAY,EAAIqmI,EAAiB5mK,OAAQL,EAAMqsC,EAAYhsC,OAAQV,EAAIK,EAAKL,IACrF0sC,EAAY1sC,GAAK0sC,EAAY1sC,GAAK8rC,MAIzC,KAAIR,GAAiBtO,OAAOoG,GAK7B,MAAM,IAAI9hC,MAAM,iCAJhBoE,KAAK4mC,SAAWlJ,EAAOtG,KACvBp3B,KAAK6mC,kBAAe/nC,EAM5BkB,KAAK2mC,SAAWnpB,EAEpBupB,iBAII,YAH0BjoC,IAAtBkB,KAAK6mC,eACL7mC,KAAK6mC,aAAeg7H,GAAmB7hK,KAAK4mC,UAAU,IAEnD5mC,KAAK6mC,aAEhBd,WAAWrkC,GACPA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,MAAO,CAAEnN,KAAM,EAAGC,UAAWz4B,GAEjC,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,MAAO,CAAElN,OAAMC,UAAWz4B,EAASslC,EAAY9M,IAEnD8L,SAASvJ,GACL,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,GAE/E,gBACI,OAAOvnC,KAAK+mC,iBAAiB/rC,OAEjC,qBAAqBqY,GACjB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,aAEjE,cAAchkB,GACV,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,aAiE7F,SAASiO,GAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,MAAMsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACzB8yB,GAAUC,EAAM3gC,GAChB0gC,GAAUE,EAAO5gC,GACjB,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACR,KAAOmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAEX,SAAS2iK,GAAmBzqI,EAAM0qI,EAAeC,EAAa,GAC1D,MAAM/hJ,EAAS8hJ,EAAgB,CAACC,GAAc,GAC9C,IAAK,IAAIznK,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAClC,IAAI4sC,EAAK9P,EAAKv8B,WAAWP,GACd,KAAP4sC,GAAyC,KAAPA,IACvB,KAAPA,GAAkC5sC,EAAI,EAAI88B,EAAKp8B,QAAqC,KAA3Bo8B,EAAKv8B,WAAWP,EAAI,IAC7EA,IAEJ0lB,EAAO3kB,KAAK0mK,EAAaznK,EAAI,IAGrC,OAAO0lB,EAEX,SAAS2hJ,GAAmBl1J,GACxB,MAAM3Q,EAAQ2Q,EAAM3Q,MACdC,EAAM0Q,EAAM1Q,IAClB,OAAID,EAAMo+B,KAAOn+B,EAAIm+B,MAASp+B,EAAMo+B,OAASn+B,EAAIm+B,MAAQp+B,EAAMq+B,UAAYp+B,EAAIo+B,UACpE,CAAEr+B,MAAOC,EAAKA,IAAKD,GAEvB2Q,EAEX,SAASu1J,GAAkB3mI,GACvB,MAAM5uB,EAAQk1J,GAAmBtmI,EAAS5uB,OAC1C,OAAIA,IAAU4uB,EAAS5uB,MACZ,CAAE8vB,QAASlB,EAASkB,QAAS9vB,SAEjC4uB,GAvHX,SAAW+J,GAYPA,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAqB1DP,EAAa0B,OATb,SAAgBZ,EAAU1I,EAAShgB,GAC/B,GAAI0oB,aAAoBN,GAEpB,OADAM,EAASY,OAAOtJ,EAAShgB,GAClB0oB,EAGP,MAAM,IAAItqC,MAAM,yEA+BxBwpC,EAAaa,WA3Bb,SAAoBC,EAAUlJ,GAC1B,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,GAAUtI,EAAMlZ,IAAIk+I,KAAoB,CAACn9J,EAAGnG,KAC1D,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqB,EACzB,MAAM47H,EAAQ,GACd,IAAK,MAAMh+J,KAAKkiC,EAAa,CACzB,IAAIG,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OAC5C,GAAIwqC,EAAcD,EACd,MAAM,IAAIzqC,MAAM,oBAEX0qC,EAAcD,GACnB47H,EAAM5mK,KAAK+7B,EAAKoP,UAAUH,EAAoBC,IAE9CriC,EAAEs4B,QAAQvhC,QACVinK,EAAM5mK,KAAK4I,EAAEs4B,SAEjB8J,EAAqBH,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAGnD,OADAkmK,EAAM5mK,KAAK+7B,EAAKp1B,OAAOqkC,IAChB47H,EAAMzmK,KAAK,KAzD1B,CA4DG4pC,KAAiBA,GAAe,KChKnC,SAAYw1H,GACR,kBACA,oBACA,gBAHJ,CAAYA,QAAc,KAMnB,MAAMsH,GAETj2J,YACIuF,EACA2wJ,EACAC,EACAC,GAoBJ,KAAArsF,WAAuB,GAlBnBh2E,KAAKwR,KAAOA,QAAQ1S,EACpBkB,KAAK+8E,cAAgBolF,GAAwB9lG,GAC7Cr8D,KAAKsiK,eAAiBF,EACtBpiK,KAAKg2E,WAAa,IAAKqsF,UAAqB,KA6P7C,SAASE,GAA0BC,GAAwB,GAC9D,MAAMC,EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB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","file":"pyright-main-732a35e9ffa0a3bb98be.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index c33736dc7..16dffa12d 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -13,7 +13,7 @@ import { createUri, LanguageServerClient } from "./client"; import { CreateToastFnReturn } from "@chakra-ui/react"; // This is modified by bin/update-pyright.sh -const workerScriptName = "pyright-main-382ffb2ee9671656ad85.worker.js"; +const workerScriptName = "pyright-main-732a35e9ffa0a3bb98be.worker.js"; // Very simple cache to avoid React re-creating pointlessly in development. let counter = 0; diff --git a/src/messages/TranslationProvider.tsx b/src/messages/TranslationProvider.tsx index 9f5d187b1..6c6063ac4 100644 --- a/src/messages/TranslationProvider.tsx +++ b/src/messages/TranslationProvider.tsx @@ -33,6 +33,8 @@ async function loadLocaleData(locale: string) { return (await import("./ui.lol.json")).default; case "nl": return (await import("./ui.nl.json")).default; + case "pl": + return (await import("./ui.pl.json")).default; case "zh-cn": return (await import("./ui.zh-cn.json")).default; case "zh-tw": diff --git a/src/messages/ui.ca.json b/src/messages/ui.ca.json index a3d65f9e1..412ba39c3 100644 --- a/src/messages/ui.ca.json +++ b/src/messages/ui.ca.json @@ -1130,7 +1130,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "La imatge no està disponible fora de línia" } ], "open-action": [ @@ -1678,13 +1678,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "Mostra advertències sobre funcions només de la V2" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "Els avisos es mostren a l'editor quan es connecta un micro:bit V1" } ], "settings": [ @@ -2408,7 +2408,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "Desactiva els avisos sobre les funcions només de la V2" } ], "webusb-error-clear-connect-description-1": [ @@ -2426,7 +2426,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "No es pot sol·licitar la interfície" + "value": "Una altra pàgina o pestanya del navegador està connectada a aquesta micro:bit" } ], "webusb-error-default-title": [ @@ -2437,8 +2437,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "Torna a connectar la teva micro:bit i torna-ho a provar." + "children": [ + { + "type": 0, + "value": "Segueix aquests passos i, a continuació, torna-ho a provar:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "desendolla el cable USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "desendolla la bateria si n'hi ha cap connectada" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "torna a connectar el cable USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "torna a connectar la bateria si n'hi havia una" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2474,7 +2526,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "vídeo de presentació de l'editor Python" } ], "zoom-in-action": [ diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index 7bc10ff35..5c9993429 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -1208,7 +1208,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "Bild offline nicht verfügbar" } ], "open-action": [ @@ -1752,13 +1752,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "Warnungen über Nur-V2-Funktionen anzeigen" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist" } ], "settings": [ @@ -2490,7 +2490,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "Warnungen über Nur-V2-Funktionen deaktivieren" } ], "webusb-error-clear-connect-description-1": [ @@ -2508,7 +2508,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "Schnittstelle konnte nicht beansprucht werden" + "value": "Eine andere Seite oder ein Browser-Tab ist mit diesem micro:bit verbunden" } ], "webusb-error-default-title": [ @@ -2519,8 +2519,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "Bitte schließe deinen micro:bit erneut an und versuche es nochmal." + "children": [ + { + "type": 0, + "value": "Bitte folge diesen Schritten, dann versuche es erneut:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "trenne das USB-Kabel" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "entferne das Akku-Paket, wenn angeschlossen" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "verbinden das USB-Kabel erneut" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "verbinde das Akku-Paket erneut, wenn angeschlossen" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2556,7 +2608,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "Videoeinführung des Python Editors" } ], "zoom-in-action": [ diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index 6737c2f3e..e7db558b1 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -1164,7 +1164,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "Imagen no disponible sin conexión" } ], "open-action": [ @@ -1712,13 +1712,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "Mostrar advertencias sobre funciones exclusivas de la V2" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "Las advertencias se muestran en el editor cuando se conecta un micro:bit V1" } ], "settings": [ @@ -2434,7 +2434,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "Desactivar las advertencias sobre funciones exclusivas de la V2" } ], "webusb-error-clear-connect-description-1": [ @@ -2452,7 +2452,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "No se ha podido solicitar interfaz" + "value": "Otra página o pestaña del navegador está conectada a este micro:bit" } ], "webusb-error-default-title": [ @@ -2463,8 +2463,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "Por favor reconecta el micro:bit e intentalo de nuevo." + "children": [ + { + "type": 0, + "value": "Por favor, sigue estos pasos y vuelve a intentarlo:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "desconecta el cable USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "desenchufa la batería si la tiene instalada" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "vuelve a conectar el cable USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "vuelve a conectar el paquete de baterías si estaba conectado" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2500,7 +2552,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "vídeo de introducción al editor de Python" } ], "zoom-in-action": [ diff --git a/src/messages/ui.fr.json b/src/messages/ui.fr.json index e21d8a4f1..571adf9c3 100644 --- a/src/messages/ui.fr.json +++ b/src/messages/ui.fr.json @@ -1164,7 +1164,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "Image indisponible hors ligne" } ], "open-action": [ @@ -1712,13 +1712,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "Afficher les avertissements sur les fonctionnalités disponibles uniquement sur le V2" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "Les avertissements sont affichés dans l'éditeur quand un micro:bit V1 est connecté" } ], "settings": [ @@ -2434,7 +2434,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "Désactiver les avertissements concernant les fonctionnalités disponibles sur le V2 uniquement" } ], "webusb-error-clear-connect-description-1": [ @@ -2452,7 +2452,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "Impossible de demander l’interface" + "value": "Une autre page ou un autre onglet est connecté à ce micro:bit" } ], "webusb-error-default-title": [ @@ -2463,8 +2463,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "Veuillez reconnecter votre micro:bit et réessayer." + "children": [ + { + "type": 0, + "value": "Veuillez suivre les étapes suivantes, puis réessayez : " + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "débranchez le câble USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "débranchez le bloc-batterie s'il y en a un" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "reconnectez le câble USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "reconnectez le bloc-batterie s'il y en a un" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2500,7 +2552,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "vidéo explicative de l'éditeur Python" } ], "zoom-in-action": [ @@ -2515,4 +2567,4 @@ "value": "Zoom arrière" } ] -} +} \ No newline at end of file diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 1a50c1c9c..255841006 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -1172,7 +1172,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "画像がオフラインで利用できません" } ], "open-action": [ @@ -1705,13 +1705,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "V2のみの機能に関する警告を表示する" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "micro:bitのV1が接続されていると、エディタに警告が表示されます" } ], "settings": [ @@ -2436,7 +2436,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "V2のみの機能に関する警告を無効にする" } ], "webusb-error-clear-connect-description-1": [ @@ -2454,7 +2454,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "インタフェースを要求できません" + "value": "このmicro:bitが別のページや別のブラウザタブで接続されています" } ], "webusb-error-default-title": [ @@ -2465,8 +2465,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "micro:bitを再接続して、やり直してください。" + "children": [ + { + "type": 0, + "value": "次の手順にしたがって、もう一度お試しください:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "USBケーブルを抜く" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": " バッテリーパックを接続している場合は、それを抜く" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "USBケーブルを再接続する" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "バッテリーパックを接続していた場合は、それを再接続する" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2502,7 +2554,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "Pythonエディターを紹介する動画" } ], "zoom-in-action": [ diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index 4bb310804..3b7ecf280 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -418,7 +418,7 @@ "cookies-action": [ { "type": 0, - "value": "Cookies" + "value": "쿠키" } ], "copied": [ @@ -1176,7 +1176,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "이미지는 오프라인에서 사용할 수 없습니다." } ], "open-action": [ @@ -1720,13 +1720,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "V2 전용 기능에 대한 경고 표시" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "micro:bit V1이 연결되면 편집기에 경고가 표시됩니다." } ], "settings": [ @@ -2116,7 +2116,7 @@ "simulator-radio-code": [ { "type": 0, - "value": "micro:bit sent:" + "value": "micro:bit 전송된:" } ], "simulator-radio-group-notice": [ @@ -2166,7 +2166,7 @@ "simulator-radio-user": [ { "type": 0, - "value": "You sent:" + "value": "너가 보냈다:" } ], "simulator-reference-link": [ @@ -2430,7 +2430,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "V2 전용 기능에 대한 경고 비활성화" } ], "webusb-error-clear-connect-description-1": [ @@ -2448,7 +2448,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "인터페이스 수령 실패" + "value": "다른 페이지나 브라우저 탭이 이 micro:bit에 연결되어 있습니다." } ], "webusb-error-default-title": [ @@ -2460,7 +2460,7 @@ "webusb-error-reconnect-microbit-description": [ { "type": 0, - "value": "micro:bit 연결을 확인한 후, 다시 시도해 보세요." + "value": "다른 페이지나 브라우저 탭이 이 micro:bit에 연결되어 있습니다." } ], "webusb-not-supported": [ @@ -2496,7 +2496,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "Python 편집기를 소개하는 비디오" } ], "zoom-in-action": [ diff --git a/src/messages/ui.lol.json b/src/messages/ui.lol.json index bd12a3c0e..9e1d87cde 100644 --- a/src/messages/ui.lol.json +++ b/src/messages/ui.lol.json @@ -951,6 +951,12 @@ "value": "crwdns331608:0crwdne331608:0" } ], + "offline-image-alt": [ + { + "type": 0, + "value": "crwdns359874:0crwdne359874:0" + } + ], "open-action": [ { "type": 0, @@ -1334,13 +1340,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "crwdns359862:0crwdne359862:0" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "crwdns359864:0crwdne359864:0" } ], "settings": [ @@ -1994,7 +2000,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "crwdns359866:0crwdne359866:0" } ], "webusb-error-clear-connect-description-1": [ @@ -2012,7 +2018,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "crwdns331790:0crwdne331790:0" + "value": "crwdns359868:0crwdne359868:0" } ], "webusb-error-default-title": [ @@ -2024,7 +2030,7 @@ "webusb-error-reconnect-microbit-description": [ { "type": 0, - "value": "crwdns331794:0crwdne331794:0" + "value": "crwdns359870:0crwdne359870:0" } ], "webusb-not-supported": [ @@ -2060,7 +2066,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "crwdns359872:0crwdne359872:0" } ], "zoom-in-action": [ diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index 3882ef96e..131d320be 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -1184,7 +1184,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "Afbeelding offline niet beschikbaar" } ], "open-action": [ @@ -1735,13 +1735,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "Toon waarschuwingen over de functies die alleen voor V2 van toepassing zijn" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "Waarschuwingen worden weergegeven in de editor wanneer een micro:bit V1 is aangesloten" } ], "settings": [ @@ -2477,7 +2477,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "Schakel waarschuwingen uit over de functies die alleen voor V2 van toepassing zijn" } ], "webusb-error-clear-connect-description-1": [ @@ -2495,7 +2495,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "Kan interface niet opeisen" + "value": "Een andere pagina of browser tab is verbonden met deze micro:bit" } ], "webusb-error-default-title": [ @@ -2506,8 +2506,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "Verbind je micro:bit opnieuw en probeer het nog eens." + "children": [ + { + "type": 0, + "value": "Volg de volgende stappen en probeer dan opnieuw:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "maak de USB-kabel los" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "maak het batterijpakket los als dat aangesloten is" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "sluit de USB-kabel weer aan" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "sluit het batterijpakket weer aan als dat aangesloten was" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2543,7 +2595,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "video die de Python Editor introduceert" } ], "zoom-in-action": [ diff --git a/src/messages/ui.pl.json b/src/messages/ui.pl.json new file mode 100644 index 000000000..970886b53 --- /dev/null +++ b/src/messages/ui.pl.json @@ -0,0 +1,2666 @@ +{ + "about": [ + { + "type": 0, + "value": "O programie" + } + ], + "about-comic": [ + { + "type": 0, + "value": "Trzy panele komiksowe zatytułowane \"MicroPython Rocks\" autorstwa Mike Rowbit. Wąż kartonowy wprowadza Damien, mówiąc \"Poznaj Damien... Stworzył MicroPythona.\". Dwa węży dyskutują o MicroPythonie. Żółty wąż mówi \"MicroPython jest zaprojektowany do pracy na bardzo małych komputerach. \"Jak Twój BBC micro:bit\" odpowiada fioletowy węż.\" Wąż żółty kontynuuje \"Ale Python może działać gdziekolwiek\". Fioletowy wąż zgadza się, mówiąc \"Podobnie jak na tym zestawie serwerów, które uruchamiają ogromne strony internetowe\". Tło za wężami pokazuje serwery." + } + ], + "about-microbit": [ + { + "type": 0, + "value": "Wykonane z miłością przez " + }, + { + "children": [ + { + "type": 0, + "value": "Micro:bit Educational Foundation i współtwórców" + } + ], + "type": 8, + "value": "link" + } + ], + "about-micropython": [ + { + "type": 0, + "value": "Edytor bazuje na " + }, + { + "children": [ + { + "type": 0, + "value": "MicroPython" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": ", którego twórcą jest Damien George i społeczność programistów z całego świata." + } + ], + "about-read-less-micropython": [ + { + "type": 0, + "value": "Orzeczytaj mniej o MicroPythonie" + } + ], + "about-read-more-micropython": [ + { + "type": 0, + "value": "Dowiedz się więcej o MicroPythonie" + } + ], + "added-change": [ + { + "type": 0, + "value": "Dodany plik " + }, + { + "type": 1, + "value": "changeName" + } + ], + "api-description": [ + { + "type": 0, + "value": "Aby użyć i dla przykładów zobacz " + }, + { + "children": [ + { + "type": 0, + "value": "Odniesienie" + } + ], + "type": 8, + "value": "link" + } + ], + "api-tab": [ + { + "type": 0, + "value": "API" + } + ], + "apidocs-baseclass": [ + { + "offset": 0, + "options": { + "few": { + "value": [ + { + "type": 0, + "value": "bazowe klasy: " + } + ] + }, + "many": { + "value": [ + { + "type": 0, + "value": "bazowe klasy: " + } + ] + }, + "one": { + "value": [ + { + "type": 0, + "value": "bazowa klasa" + } + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "bazowe klasy: " + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "baseClassCount" + } + ], + "apidocs-classes": [ + { + "type": 0, + "value": "Klasy" + } + ], + "apidocs-fields": [ + { + "type": 0, + "value": "Pola" + } + ], + "apidocs-functions": [ + { + "type": 0, + "value": "Funkcje" + } + ], + "apidocs-methods": [ + { + "type": 0, + "value": "Metody" + } + ], + "back-action": [ + { + "type": 0, + "value": "Wróć" + } + ], + "back-to-main": [ + { + "type": 0, + "value": "wróć do głównego kodu" + } + ], + "cancel-action": [ + { + "type": 0, + "value": "Anuluj" + } + ], + "change-files": [ + { + "type": 0, + "value": "Zmienić pliki?" + } + ], + "choose-main-add-file": [ + { + "type": 0, + "value": "Dodaj plik " + }, + { + "type": 1, + "value": "name" + } + ], + "choose-main-add-module": [ + { + "type": 0, + "value": "Dodaj moduł " + }, + { + "type": 1, + "value": "name" + } + ], + "choose-main-replace-file": [ + { + "type": 0, + "value": "Zastąp plik " + }, + { + "type": 1, + "value": "name" + } + ], + "choose-main-replace-module": [ + { + "type": 0, + "value": "Zastąp moduł " + }, + { + "type": 1, + "value": "name" + } + ], + "choose-main-source-add-file": [ + { + "type": 0, + "value": "Dodaj plik " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " z " + }, + { + "type": 1, + "value": "source" + } + ], + "choose-main-source-add-main-code": [ + { + "type": 0, + "value": "Dodaj kod główny z " + }, + { + "type": 1, + "value": "source" + } + ], + "choose-main-source-replace-file": [ + { + "type": 0, + "value": "Zastąp plik " + }, + { + "type": 1, + "value": "target" + }, + { + "type": 0, + "value": " z " + }, + { + "type": 1, + "value": "source" + } + ], + "choose-main-source-replace-main-code": [ + { + "type": 0, + "value": "Zastąp kod główny z " + }, + { + "type": 1, + "value": "source" + } + ], + "clear": [ + { + "type": 0, + "value": "Wyczyść" + } + ], + "close-action": [ + { + "type": 0, + "value": "Zamknij" + } + ], + "code-editor": [ + { + "type": 0, + "value": "Edytor kodu" + } + ], + "code-example": [ + { + "type": 0, + "value": "Przykład kodu:" + } + ], + "confirm-action": [ + { + "type": 0, + "value": "Potwierdź" + } + ], + "confirm-delete": [ + { + "type": 0, + "value": "Potwierdź usunięcie" + } + ], + "confirm-replace-body": [ + { + "type": 0, + "value": "Zastąpić wszystkie pliki tymi z hex?" + } + ], + "confirm-replace-reset": [ + { + "type": 0, + "value": "Zastąpić wszystkie pliki domyślnym kodem startowym?" + } + ], + "confirm-replace-title": [ + { + "type": 0, + "value": "Potwierdź zastąpienie projektu" + } + ], + "confirm-replace-with-idea": [ + { + "type": 0, + "value": "Zastąpić wszystkie pliki " + }, + { + "type": 1, + "value": "ideaName" + }, + { + "type": 0, + "value": "?" + } + ], + "confirm-save-action": [ + { + "type": 0, + "value": "Potwierdź i zapisz" + } + ], + "confirm-save-hint": [ + { + "type": 0, + "value": "Anuluj następnie użycie Zapisz, aby zachować kopię projektu." + } + ], + "connect-action": [ + { + "type": 0, + "value": "Podłącz" + } + ], + "connect-cable-title": [ + { + "type": 0, + "value": "Podłącz kabel" + } + ], + "connect-help-alt": [ + { + "type": 0, + "value": "Okno dialogowe połączenia WebUSB z BBC micro:bitem oznaczonym jako 1 i przycisk Połącz oznaczony jako 2" + } + ], + "connect-help-message": [ + { + "type": 0, + "value": "W następnym wyskakującym oknie:" + } + ], + "connect-help-one": [ + { + "type": 0, + "value": "Wybierz swój micro:bit" + } + ], + "connect-help-title": [ + { + "type": 0, + "value": "Wybierz micro:bit" + } + ], + "connect-help-two": [ + { + "type": 0, + "value": "Wybierz „Połącz”" + } + ], + "connect-hover": [ + { + "type": 0, + "value": "Połącz się ze swoim micro:bitem przez WebUSB" + } + ], + "connect-microbit": [ + { + "type": 0, + "value": "Połącz się ze swoim micro:bitem, aby zobaczyć wyjście szeregowe tutaj" + } + ], + "connect-troubleshoot": [ + { + "type": 0, + "value": "Problemy z połączeniem się z Twoim micro:bitem" + } + ], + "content-load-error": [ + { + "type": 0, + "value": "Coś poszło nie tak. Pobierz swój plik hex dla bezpiecznego przechowania, a następnie odśwież stronę, aby przeładować." + } + ], + "cookies-action": [ + { + "type": 0, + "value": "Cookies (Ciasteczka)" + } + ], + "copied": [ + { + "type": 0, + "value": "Skopiowane" + } + ], + "copy-action": [ + { + "type": 0, + "value": "Kopiuj" + } + ], + "copy-code-action": [ + { + "type": 0, + "value": "Skopiuj kod" + } + ], + "create-action": [ + { + "type": 0, + "value": "Twórz" + } + ], + "create-file-action": [ + { + "type": 0, + "value": "Utwórz plik" + } + ], + "create-python": [ + { + "type": 0, + "value": "Utwórz nowy plik Pythona w tym projekcie" + } + ], + "created-file": [ + { + "type": 0, + "value": "Utworzono " + }, + { + "type": 1, + "value": "filename" + } + ], + "delete-action": [ + { + "type": 0, + "value": "Usuń" + } + ], + "delete-file-action": [ + { + "type": 0, + "value": "Usuń " + }, + { + "type": 1, + "value": "name" + } + ], + "deleted-file": [ + { + "type": 0, + "value": "Usunięto " + }, + { + "type": 1, + "value": "filename" + } + ], + "disconnect-action": [ + { + "type": 0, + "value": "Odłącz" + } + ], + "disconnect-hover": [ + { + "type": 0, + "value": "Odłącz od swojego micro:bit" + } + ], + "dont-show-again": [ + { + "type": 0, + "value": "Nie pokazuj tego ponownie" + } + ], + "drag-hover": [ + { + "type": 0, + "value": "Przeciągnij i upuść" + } + ], + "edit-file-action": [ + { + "type": 0, + "value": "Edytuj " + }, + { + "type": 1, + "value": "name" + } + ], + "edit-name-project-hover": [ + { + "type": 0, + "value": "Edytuj nazwę swojego projektu" + } + ], + "edit-project-name-action": [ + { + "type": 0, + "value": "Edytuj nazwę projektu" + } + ], + "failed-to-build-hex": [ + { + "type": 0, + "value": "Nie udało się utworzyć pliku hex" + } + ], + "feedback": [ + { + "type": 0, + "value": "Informacje zwrotne" + } + ], + "file-actions": [ + { + "type": 0, + "value": "Akcje z plikiem " + }, + { + "type": 1, + "value": "name" + } + ], + "file-already-exists": [ + { + "type": 0, + "value": "Ten plik już istnieje" + } + ], + "file-name-invalid-character": [ + { + "type": 0, + "value": "Nazwa zawiera nieprawidłowy znak: " + }, + { + "type": 1, + "value": "invalid" + } + ], + "file-name-length": [ + { + "type": 0, + "value": "Nazwa jest zbyt długa" + } + ], + "file-name-lowercase-only": [ + { + "type": 0, + "value": "Nazwa powinna być małymi literami" + } + ], + "file-name-not-empty": [ + { + "type": 0, + "value": "Nazwa nie może być pusta" + } + ], + "file-name-start-number": [ + { + "type": 0, + "value": "Nazwa nie może rozpoczynać się cyfrą" + } + ], + "file-name-whitespace": [ + { + "type": 0, + "value": "Nazwa nie może zawierać spacji" + } + ], + "firmware-update-link": [ + { + "type": 0, + "value": "Zanim będziesz mógł połączyć się z tym micro:bitem, musisz " + }, + { + "children": [ + { + "type": 0, + "value": "zaktualizować oprogramowanie sprzętowe" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": "." + } + ], + "firmware-update-message": [ + { + "type": 0, + "value": "Połączenie z micro:bitem nie powiodło się, ponieważ oprogramowanie firmowe na micro:bicie jest zbyt stare." + } + ], + "firmware-update-title": [ + { + "type": 0, + "value": "Wymagana jest aktualizacja oprogramowania firmowego" + } + ], + "flash-action": [ + { + "type": 0, + "value": "Zainstaluj" + } + ], + "flash-hover": [ + { + "type": 0, + "value": "Załaduj swój projekt bezpośrednio na micro:bit" + } + ], + "flashing-code": [ + { + "type": 0, + "value": "Wysyłanie kodu (flashing)" + } + ], + "flashing-full-flash-detail": [ + { + "type": 0, + "value": "Twój kod jest wysyłany (flashed) do Twojego micro:bita. To może zająć chwilę po raz pierwszy, ale później będzie szybciej." + } + ], + "flashing-micropython": [ + { + "type": 0, + "value": "Migający MicroPython" + } + ], + "font-size": [ + { + "type": 0, + "value": "Rozmiar czcionki" + } + ], + "guide-link": [ + { + "type": 0, + "value": "Aby uzyskać więcej wsparcia, zobacz przewodnik " + }, + { + "children": [ + { + "type": 0, + "value": "Edytora Pythona" + } + ], + "type": 8, + "value": "link" + } + ], + "help": [ + { + "type": 0, + "value": "Pomoc" + } + ], + "help-support": [ + { + "type": 0, + "value": "Pomoc i wsparcie" + } + ], + "help-translate": [ + { + "type": 0, + "value": "Pomóż tłumaczyć" + } + ], + "highlight-code-structure": [ + { + "type": 0, + "value": "Podświetl strukturę kodu" + } + ], + "highlight-code-structure-full": [ + { + "type": 0, + "value": "Pełny" + } + ], + "highlight-code-structure-none": [ + { + "type": 0, + "value": "Żaden" + } + ], + "highlight-code-structure-simple": [ + { + "type": 0, + "value": "Prosty" + } + ], + "ideas-tab": [ + { + "type": 0, + "value": "Pomysły" + } + ], + "ideas-tab-description": [ + { + "type": 0, + "value": "Wypróbuj te projekty, zmodyfikuj je i poczuj się zainspirowany" + } + ], + "insert-code-action": [ + { + "type": 0, + "value": "Wstaw kod" + } + ], + "language": [ + { + "type": 0, + "value": "Język" + } + ], + "less-action": [ + { + "type": 0, + "value": "Mniej" + } + ], + "load-error-makecode-info": [ + { + "type": 0, + "value": "Ten plik hex nie może zostać załadowany do edytora Pythona. Edytor Pythona nie może otworzyć plików hex utworzonych przez Microsoft MakeCode." + } + ], + "load-error-makecode-link": [ + { + "type": 0, + "value": "Aby skorzystać z tego pliku hex, odwiedź stronę " + }, + { + "children": [ + { + "type": 0, + "value": "https://makecode.microbit.org/" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": "." + } + ], + "load-error-mixed": [ + { + "type": 0, + "value": "Plik hex może być załadowany tylko na własną rękę. Zastąpi on wszystkie pliki w projekcie." + } + ], + "load-error-mpy": [ + { + "type": 0, + "value": "Ta wersja edytora Python obecnie nie obsługuje dodawania plików .mpy." + } + ], + "load-error-title": [ + { + "type": 0, + "value": "Nie można załadować pliku " + }, + { + "offset": 0, + "options": { + "few": { + "value": [ + { + "type": 0, + "value": "pliki" + } + ] + }, + "many": { + "value": [ + { + "type": 0, + "value": "pliki" + } + ] + }, + "one": { + "value": [ + ] + }, + "other": { + "value": [ + { + "type": 0, + "value": "pliki" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "fileCount" + } + ], + "loaded-file-feedback": [ + { + "type": 0, + "value": "Załadowano " + }, + { + "type": 1, + "value": "filename" + } + ], + "loading": [ + { + "type": 0, + "value": "Ładowanie…" + } + ], + "microbit-hearts-alt": [ + { + "type": 0, + "value": "Płytka micro:bit z wyświetlaczem LED 5 na 5 pokazująca serce" + } + ], + "micropython-documentation": [ + { + "type": 0, + "value": "Dokumentacja MicroPythona" + } + ], + "micropython-history": [ + { + "type": 0, + "value": "Dowiedz się, jak pojawił się MicroPython na micro:bit" + } + ], + "micropython-source-code": [ + { + "type": 0, + "value": "Kod źródłowy MicroPythona " + }, + { + "children": [ + { + "type": 0, + "value": "dla micro:bit V1" + } + ], + "type": 8, + "value": "linkV1" + }, + { + "type": 0, + "value": " i " + }, + { + "children": [ + { + "type": 0, + "value": "dla micro:bit V2" + } + ], + "type": 8, + "value": "linkV2" + } + ], + "more-action": [ + { + "type": 0, + "value": "Więcej" + } + ], + "more-connect-options": [ + { + "type": 0, + "value": "Więcej opcji połączenia" + } + ], + "more-ideas": [ + { + "children": [ + { + "type": 0, + "value": "Więcej pomysłów" + } + ], + "type": 8, + "value": "link" + } + ], + "more-save-options": [ + { + "type": 0, + "value": "Więcej opcji zapisu" + } + ], + "multiple-files-message-one": [ + { + "type": 0, + "value": "Ten projekt zawiera " + }, + { + "offset": 0, + "options": { + "few": { + "value": [ + { + "type": 1, + "value": "fileCount" + }, + { + "type": 0, + "value": " pliki" + } + ] + }, + "many": { + "value": [ + { + "type": 1, + "value": "fileCount" + }, + { + "type": 0, + "value": " pliki" + } + ] + }, + "one": { + "value": [ + ] + }, + "other": { + "value": [ + { + "type": 1, + "value": "fileCount" + }, + { + "type": 0, + "value": " pliki" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "fileCount" + }, + { + "type": 0, + "value": ", ale tylko " + }, + { + "children": [ + { + "type": 0, + "value": "main.py" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": " został pobrany." + } + ], + "multiple-files-message-two": [ + { + "type": 0, + "value": "Użyj przycisku " + }, + { + "children": [ + { + "type": 0, + "value": "Save" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": ", aby pobrać cały swój projekt jako plik hex. Możesz " + }, + { + "children": [ + { + "type": 0, + "value": "Open" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": " plik hex, aby przywrócić swój projekt. Jeśli wolisz pobrać poszczególne pliki Pythona, użyj zakładki " + }, + { + "children": [ + { + "type": 0, + "value": "Project" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": "." + } + ], + "multiple-files-title": [ + { + "type": 0, + "value": "Ostrzeżenie: pobrano tylko main.py" + } + ], + "name-project": [ + { + "type": 0, + "value": "Nazwij swój projektu" + } + ], + "name-text": [ + { + "type": 0, + "value": "Nazwa" + } + ], + "name-used-when": [ + { + "type": 0, + "value": "Nazwa jest używana podczas zapisywania pliku." + } + ], + "new-file-hint": [ + { + "type": 0, + "value": "Dodamy rozszerzenie " + }, + { + "children": [ + { + "type": 0, + "value": ".py" + } + ], + "type": 8, + "value": "code" + }, + { + "type": 0, + "value": " dla Ciebie." + } + ], + "next-action": [ + { + "type": 0, + "value": "Dalej" + } + ], + "not-found-checklist-one": [ + { + "type": 0, + "value": "Czy Twój " + }, + { + "children": [ + { + "type": 0, + "value": "micro:bit jest podłączony" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": "? Czy " + }, + { + "children": [ + { + "type": 0, + "value": "wykonałeś te kroki" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": "?" + } + ], + "not-found-checklist-two": [ + { + "type": 0, + "value": "Jeśli masz " + }, + { + "children": [ + { + "type": 0, + "value": "micro:bit V1" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": ", może być konieczna " + }, + { + "children": [ + { + "type": 0, + "value": "aktualizacja oprogramowania firmowego" + } + ], + "type": 8, + "value": "link" + } + ], + "not-found-message": [ + { + "type": 0, + "value": "Nie wybrałeś micro:bit lub wystąpił problem z połączeniem." + } + ], + "not-found-save-message": [ + { + "type": 0, + "value": "Alternatywna metoda: wybierz Zapisz, a następnie wykonaj kroki transferu" + } + ], + "not-found-title": [ + { + "type": 0, + "value": "Nie znaleziono micro:bita" + } + ], + "not-found-update-link": [ + { + "type": 0, + "value": "Zanim będziesz mógł połączyć się z tym micro:bitem, musisz " + }, + { + "children": [ + { + "type": 0, + "value": "zaktualizować oprogramowanie firmowe" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": "." + } + ], + "offline-image-alt": [ + { + "type": 0, + "value": "Obraz niedostępny w trybie offline" + } + ], + "open-action": [ + { + "type": 0, + "value": "Otwórz" + } + ], + "open-file-action": [ + { + "type": 0, + "value": "Otwórz…" + } + ], + "open-file-dropped": [ + { + "type": 0, + "value": "Otwórz plik po upuszczeniu" + } + ], + "open-hover": [ + { + "type": 0, + "value": "Otwórz plik hex lub Pythona lub dodaj inne pliki" + } + ], + "options": [ + { + "type": 0, + "value": "Opcje" + } + ], + "parameter-help": [ + { + "type": 0, + "value": "Pomoc dot. parametru" + } + ], + "parameter-help-automatic": [ + { + "type": 0, + "value": "Automatyczny" + } + ], + "parameter-help-manual": [ + { + "type": 0, + "value": "Ręczny (" + }, + { + "type": 1, + "value": "shortcut" + }, + { + "type": 0, + "value": ")" + } + ], + "permanently-delete": [ + { + "type": 0, + "value": "Usuń na stałe " + }, + { + "type": 1, + "value": "filename" + }, + { + "type": 0, + "value": "?" + } + ], + "post-save-message-files": [ + { + "type": 0, + "value": "Zawiera wszystkie pliki w tym projekcie (w tym wszelkie dodatkowe pliki, np. do uruchomienia akcesoriów, wymienionych w karcie " + }, + { + "children": [ + { + "type": 0, + "value": "Project" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": "." + } + ], + "post-save-message-one": [ + { + "type": 0, + "value": "Plik hex znajdziesz w folderze " + }, + { + "children": [ + { + "type": 0, + "value": "Downloads" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": "." + } + ], + "post-save-message-two": [ + { + "type": 0, + "value": "Możesz przenieść go do innego folderu do przechowania i użyć " + }, + { + "children": [ + { + "type": 0, + "value": "Otwórz" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": ", aby kontynuować edycję później." + } + ], + "post-save-title": [ + { + "type": 0, + "value": "Projekt został zapisany!" + } + ], + "post-save-transfer-hex": [ + { + "type": 0, + "value": "Aby uruchomić ten plik hex na micro:bicie, " + }, + { + "children": [ + { + "type": 0, + "value": "wykonaj te kroki" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": "." + } + ], + "privacy-policy": [ + { + "type": 0, + "value": "Polityka prywatności" + } + ], + "project-actions": [ + { + "type": 0, + "value": "Działania w projekcie" + } + ], + "project-header": [ + { + "type": 0, + "value": "Nagłówek projektu" + } + ], + "project-name": [ + { + "type": 0, + "value": "Nazwa projektu" + } + ], + "project-name-not-empty": [ + { + "type": 0, + "value": "Nazwa projektu nie może być pusta" + } + ], + "project-tab": [ + { + "type": 0, + "value": "Projekt" + } + ], + "project-tab-description": [ + { + "type": 0, + "value": "Przejrzyj, utwórz, dodaj i edytuj pliki w projekcie" + } + ], + "python-powered": [ + { + "type": 0, + "value": "Obsługiwany przez Python" + } + ], + "python-tab": [ + { + "type": 0, + "value": "Python" + } + ], + "quit-anyway": [ + { + "type": 0, + "value": "Niektóre z twoich zmian nie były zapisanę. Chcesz i tak zamknąć?" + } + ], + "read-less": [ + { + "type": 0, + "value": "Czytaj mniej" + } + ], + "read-more": [ + { + "type": 0, + "value": "Dowiedz się więcej" + } + ], + "redo": [ + { + "type": 0, + "value": "Ponów" + } + ], + "reference-tab": [ + { + "type": 0, + "value": "Referencje" + } + ], + "replace-action-label": [ + { + "type": 0, + "value": "Zastąp" + } + ], + "reset-project-action": [ + { + "type": 0, + "value": "Resetuj projekt" + } + ], + "reset-project-feedback": [ + { + "type": 0, + "value": "Reset projektu do domyślnego kodu startowego" + } + ], + "reset-project-hover": [ + { + "type": 0, + "value": "Resetuje projekt do domyślnego kodu startowego, odrzucając Twoją pracę" + } + ], + "results-count": [ + { + "offset": 0, + "options": { + "=0": { + "value": [ + { + "type": 0, + "value": "Brak wyników" + } + ] + }, + "few": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wyników" + } + ] + }, + "many": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wyników" + } + ] + }, + "one": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wynik" + } + ] + }, + "other": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wyników" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "save-action": [ + { + "type": 0, + "value": "Zapisz" + } + ], + "save-file-action": [ + { + "type": 0, + "value": "Zapisz " + }, + { + "type": 1, + "value": "name" + } + ], + "save-hex-action": [ + { + "type": 0, + "value": "Zapisz hex projektu" + } + ], + "save-hover": [ + { + "type": 0, + "value": "Zapisz plik hex projektu na swoim komputerze" + } + ], + "save-python-action": [ + { + "type": 0, + "value": "Zapisz skrypt Pythona" + } + ], + "search": [ + { + "type": 0, + "value": "Szukaj" + } + ], + "send-action": [ + { + "type": 0, + "value": "Wyślij do micro:bita" + } + ], + "send-hover": [ + { + "type": 0, + "value": "Połącz za pomocą WebUSB, a następnie wgraj kod na micro:bit" + } + ], + "serial-collapse": [ + { + "type": 0, + "value": "Ukryj szeregowy" + } + ], + "serial-ctrl-c-action": [ + { + "type": 0, + "value": "Wyślij Ctrl+C do REPL" + } + ], + "serial-ctrl-d-action": [ + { + "type": 0, + "value": "Wyślij Ctrl+Dm aby zresetować" + } + ], + "serial-expand": [ + { + "type": 0, + "value": "Pokaż szeregowy" + } + ], + "serial-flashed": [ + { + "type": 0, + "value": "micro:bit załadowany" + } + ], + "serial-help-ctrl-c": [ + { + "type": 0, + "value": "Użyj skrótu klawiszowego " + }, + { + "children": [ + { + "type": 0, + "value": "Ctrl" + } + ], + "type": 8, + "value": "kbd" + }, + { + "type": 0, + "value": " + " + }, + { + "children": [ + { + "type": 0, + "value": "C" + } + ], + "type": 8, + "value": "kbd" + }, + { + "type": 0, + "value": ", aby przerwać program. Następnie możesz wpisać polecenia Pythona dla MicroPythona, aby uruchomić. To świetny sposób na eksperymentowanie z czymś nowym." + } + ], + "serial-help-ctrl-d": [ + { + "type": 0, + "value": "Aby ponownie uruchomić program, użyj " + }, + { + "children": [ + { + "type": 0, + "value": "Ctrl" + } + ], + "type": 8, + "value": "kbd" + }, + { + "type": 0, + "value": " + " + }, + { + "children": [ + { + "type": 0, + "value": "D" + } + ], + "type": 8, + "value": "kbd" + }, + { + "type": 0, + "value": "." + } + ], + "serial-help-intro": [ + { + "type": 0, + "value": "Terminal szeregowy pokazuje błędy i inne wyniki programu uruchomionego na Twoim micro:bicie. Domyślnie pokazuje najnowszy błąd programu. Rozwiń go, aby zobaczyć wszystkie wyniki." + } + ], + "serial-help-print": [ + { + "type": 0, + "value": "Twój program może drukować wiadomości za pomocą funkcji " + }, + { + "children": [ + { + "type": 0, + "value": "print" + } + ], + "type": 8, + "value": "code" + }, + { + "type": 0, + "value": ". Spróbuj dodać " + }, + { + "children": [ + { + "type": 0, + "value": "print('micro:bit jest niesamowity')" + } + ], + "type": 8, + "value": "code" + }, + { + "type": 0, + "value": " do swojego programu." + } + ], + "serial-help-title": [ + { + "type": 0, + "value": "Wskazówki i porady dotyczące szeregowego" + } + ], + "serial-hints-and-tips": [ + { + "type": 0, + "value": "Wskazówki i porady dotyczące szeregowego" + } + ], + "serial-menu": [ + { + "type": 0, + "value": "Menu szeregowego" + } + ], + "serial-ready-to-flash": [ + { + "type": 0, + "value": "micro:bit gotowy do ładowania" + } + ], + "serial-running": [ + { + "type": 0, + "value": "Uruchamianie…" + } + ], + "serial-terminal": [ + { + "type": 0, + "value": "Terminal szeregowy" + } + ], + "setting-allow-editing-third-party": [ + { + "type": 0, + "value": "Zezwalaj na edycję modułów innych firm" + } + ], + "setting-allow-editing-third-party-info": [ + { + "type": 0, + "value": "Zmiana modułów firm trzecich może oznaczać, że nie działają zgodnie z zamierzeniami." + } + ], + "setting-warn-on-v2-only-features": [ + { + "type": 0, + "value": "Pokaż ostrzeżenia o funkcjach tylko V2" + } + ], + "setting-warn-on-v2-only-features-info": [ + { + "type": 0, + "value": "Ostrzeżenia są wyświetlane w edytorze po podłączeniu micro:bit V1" + } + ], + "settings": [ + { + "type": 0, + "value": "Ustawienia" + } + ], + "show-api-documentation": [ + { + "type": 0, + "value": "Pokaż dokumentację API" + } + ], + "show-less": [ + { + "type": 0, + "value": "Pokaż mniej" + } + ], + "show-less-for": [ + { + "type": 0, + "value": "Pokaż mniej dla " + }, + { + "type": 1, + "value": "item" + } + ], + "show-more": [ + { + "type": 0, + "value": "Pokaż więcej" + } + ], + "show-more-for": [ + { + "type": 0, + "value": "Pokaż więcej dla " + }, + { + "type": 1, + "value": "item" + } + ], + "sidebar": [ + { + "type": 0, + "value": "Panel boczny" + } + ], + "sidebar-collapse": [ + { + "type": 0, + "value": "Zwiń pasek boczny" + } + ], + "sidebar-expand": [ + { + "type": 0, + "value": "Poszerz pasek boczny" + } + ], + "simulator-accelerometer": [ + { + "type": 0, + "value": "Akcelerometr" + } + ], + "simulator-actions": [ + { + "type": 0, + "value": "Akcje symulatora" + } + ], + "simulator-button-a": [ + { + "type": 0, + "value": "Przycisk A" + } + ], + "simulator-button-b": [ + { + "type": 0, + "value": "Przycisk B" + } + ], + "simulator-button-hold-label": [ + { + "type": 0, + "value": "Przytrzymaj przycisk " + }, + { + "type": 1, + "value": "button" + } + ], + "simulator-button-press-label": [ + { + "type": 0, + "value": "Naciśnij przycisk " + }, + { + "type": 1, + "value": "button" + } + ], + "simulator-buttons": [ + { + "type": 0, + "value": "Przyciski" + } + ], + "simulator-collapse": [ + { + "type": 0, + "value": "Zwiń symulator" + } + ], + "simulator-collapse-module": [ + { + "type": 0, + "value": "Zwiń moduł " + }, + { + "type": 1, + "value": "title" + } + ], + "simulator-compass": [ + { + "type": 0, + "value": "Kompas" + } + ], + "simulator-compass-heading-one": [ + { + "type": 0, + "value": "Nagłówek" + } + ], + "simulator-compass-heading-two": [ + { + "type": 0, + "value": "Natężenie pola magnetycznego" + } + ], + "simulator-data-logging-empty": [ + { + "type": 0, + "value": "Brak wpisów w dzienniku." + } + ], + "simulator-data-logging-full": [ + { + "type": 0, + "value": "Dziennik pełny" + } + ], + "simulator-data-logging-rows": [ + { + "offset": 0, + "options": { + "=0": { + "value": [ + { + "type": 0, + "value": "żaden wiersz nie zalogowany" + } + ] + }, + "few": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wiersze zalogowane" + } + ] + }, + "many": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wierszy zalogowanych" + } + ] + }, + "one": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wiersz zalogowany" + } + ] + }, + "other": { + "value": [ + { + "type": 7 + }, + { + "type": 0, + "value": " wierszy zalogowanych" + } + ] + } + }, + "pluralType": "cardinal", + "type": 6, + "value": "count" + } + ], + "simulator-data-logging-save-log": [ + { + "type": 0, + "value": "Zapisz dziennik" + } + ], + "simulator-data-logging-truncated": [ + { + "type": 0, + "value": "Starsze wiersze nie są pokazane" + } + ], + "simulator-expand": [ + { + "type": 0, + "value": "Rozwiń symulator" + } + ], + "simulator-expand-module": [ + { + "type": 0, + "value": "Rozwiń moduł " + }, + { + "type": 1, + "value": "title" + } + ], + "simulator-gesture-3g": [ + { + "type": 0, + "value": "3g" + } + ], + "simulator-gesture-6g": [ + { + "type": 0, + "value": "6g" + } + ], + "simulator-gesture-8g": [ + { + "type": 0, + "value": "8g" + } + ], + "simulator-gesture-down": [ + { + "type": 0, + "value": "w dół" + } + ], + "simulator-gesture-face-down": [ + { + "type": 0, + "value": "twarzą w dół" + } + ], + "simulator-gesture-face-up": [ + { + "type": 0, + "value": "twarzą do góry" + } + ], + "simulator-gesture-freefall": [ + { + "type": 0, + "value": "swobodne spadanie" + } + ], + "simulator-gesture-left": [ + { + "type": 0, + "value": "w lewo" + } + ], + "simulator-gesture-right": [ + { + "type": 0, + "value": "w prawo" + } + ], + "simulator-gesture-select": [ + { + "type": 0, + "value": "Wybierz gest" + } + ], + "simulator-gesture-send": [ + { + "type": 0, + "value": "Wyślij gest" + } + ], + "simulator-gesture-shake": [ + { + "type": 0, + "value": "potrząśnij" + } + ], + "simulator-gesture-up": [ + { + "type": 0, + "value": "w górę" + } + ], + "simulator-hide": [ + { + "type": 0, + "value": "Ukryj symulator" + } + ], + "simulator-input-hold": [ + { + "type": 0, + "value": "Przytrzymaj" + } + ], + "simulator-input-press": [ + { + "type": 0, + "value": "Naciśnij" + } + ], + "simulator-light-level": [ + { + "type": 0, + "value": "Poziom światła" + } + ], + "simulator-log": [ + { + "type": 0, + "value": "Dziennik danych" + } + ], + "simulator-loud": [ + { + "type": 0, + "value": "Głośno" + } + ], + "simulator-mute": [ + { + "type": 0, + "value": "Wycisz" + } + ], + "simulator-pin-hold-label": [ + { + "type": 0, + "value": "Przytrzymaj pin " + }, + { + "type": 1, + "value": "pin" + } + ], + "simulator-pin-press-label": [ + { + "type": 0, + "value": "Naciśnij pin " + }, + { + "type": 1, + "value": "pin" + } + ], + "simulator-pins": [ + { + "type": 0, + "value": "Piny" + } + ], + "simulator-quiet": [ + { + "type": 0, + "value": "Cicho" + } + ], + "simulator-radio": [ + { + "type": 0, + "value": "Radio" + } + ], + "simulator-radio-code": [ + { + "type": 0, + "value": "micro:bit wysłal:" + } + ], + "simulator-radio-group-notice": [ + { + "type": 0, + "value": "Grupa radiowa ustawiona na " + }, + { + "type": 1, + "value": "groupNumber" + } + ], + "simulator-radio-message": [ + { + "type": 0, + "value": "Wiadomość radiowa" + } + ], + "simulator-radio-message-limit-notice": [ + { + "type": 0, + "value": "Starsze wiadomości nie są wyświetlane" + } + ], + "simulator-radio-no-messages": [ + { + "type": 0, + "value": "Brak wiadomości do wyświetlenia" + } + ], + "simulator-radio-off": [ + { + "type": 0, + "value": "Radio jest wyłączone" + } + ], + "simulator-radio-send": [ + { + "type": 0, + "value": "Wyślij wiadomość" + } + ], + "simulator-radio-user": [ + { + "type": 0, + "value": "Wysłałeś:" + } + ], + "simulator-reference-link": [ + { + "type": 0, + "value": "Link do sekcji odniesienia" + } + ], + "simulator-reset": [ + { + "type": 0, + "value": "Reset" + } + ], + "simulator-serial-terminal": [ + { + "type": 0, + "value": "Terminal szeregowy symulatora" + } + ], + "simulator-sound-level": [ + { + "type": 0, + "value": "Poziom dźwięku" + } + ], + "simulator-start-simulator": [ + { + "type": 0, + "value": "Uruchom symulator" + } + ], + "simulator-stop": [ + { + "type": 0, + "value": "Zatrzymaj symulator" + } + ], + "simulator-temperature": [ + { + "type": 0, + "value": "Temperatura" + } + ], + "simulator-title": [ + { + "type": 0, + "value": "Symulator" + } + ], + "simulator-touch-logo": [ + { + "type": 0, + "value": "Logo dotykowe" + } + ], + "simulator-unmute": [ + { + "type": 0, + "value": "Wycisz" + } + ], + "software-versions": [ + { + "type": 0, + "value": "Wersje oprogramowania" + } + ], + "start-coding-action": [ + { + "type": 0, + "value": "Zacznij kodować" + } + ], + "support": [ + { + "type": 0, + "value": "Wsparcie" + } + ], + "terms-of-use": [ + { + "type": 0, + "value": "Warunki korzystania" + } + ], + "third-party-module-explanation": [ + { + "type": 0, + "value": "Ten plik jest modułem firm trzecich i nie może być edytowany." + } + ], + "third-party-module-how-to": [ + { + "type": 0, + "value": "Zezwalaj edycję modułów innych firm w " + }, + { + "children": [ + { + "type": 0, + "value": "Ustawienia" + } + ], + "type": 8, + "value": "link" + }, + { + "type": 0, + "value": " do modyfikowania tego modułu." + } + ], + "timeout-error-description": [ + { + "type": 0, + "value": "Nie można połączyć się z micro:bitem" + } + ], + "timeout-error-title": [ + { + "type": 0, + "value": "Przekroczono limit czasu połączenia" + } + ], + "toolkit-error-loading": [ + { + "type": 0, + "value": "Wystąpił błąd podczas ładowania zestawu narzędzi." + } + ], + "toolkit-view-documentation": [ + { + "type": 0, + "value": "Zobacz dokumentację " + }, + { + "type": 1, + "value": "name" + } + ], + "transfer-hex-message-one": [ + { + "type": 0, + "value": "Przeciągnij plik hex z " + }, + { + "children": [ + { + "type": 0, + "value": "folderu Pobrane" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": " na " + }, + { + "children": [ + { + "type": 0, + "value": "dysk MICROBIT" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": "." + } + ], + "transfer-hex-message-two": [ + { + "type": 0, + "value": "Możesz później " + }, + { + "children": [ + { + "type": 0, + "value": "Otworzyć" + } + ], + "type": 8, + "value": "strong" + }, + { + "type": 0, + "value": " plik hex, aby kontynuować edycję." + } + ], + "transfer-hex-title": [ + { + "type": 0, + "value": "Przenieś zapisany plik hex na micro:bita" + } + ], + "try-again-action": [ + { + "type": 0, + "value": "Spróbuj ponownie" + } + ], + "undo": [ + { + "type": 0, + "value": "Cofnij" + } + ], + "unexpected-error-description": [ + { + "type": 0, + "value": "Spróbuj ponownie lub " + }, + { + "children": [ + { + "type": 0, + "value": "zgłoś prośbę o wsparcie" + } + ], + "type": 8, + "value": "link" + } + ], + "unexpected-error-title": [ + { + "type": 0, + "value": "Spróbuj ponownie lub " + }, + { + "children": [ + { + "type": 0, + "value": "zgłoś prośbę o wsparcie" + } + ], + "type": 8, + "value": "link" + } + ], + "untitled-project": [ + { + "type": 0, + "value": "Projekt bez tytułu" + } + ], + "update-firmware-action": [ + { + "type": 0, + "value": "Zaktualizuj firmware" + } + ], + "updated-change": [ + { + "type": 0, + "value": "Zaktualizowany plik " + }, + { + "type": 1, + "value": "changeName" + } + ], + "visit-dot-org": [ + { + "type": 0, + "value": "odwiedź microbit.org (otwiera się w nowej karcie)" + } + ], + "warn-on-v2-only-features-action": [ + { + "type": 0, + "value": "Wyłącz ostrzeżenia o funkcjach tylko V2" + } + ], + "webusb-error-clear-connect-description-1": [ + { + "type": 0, + "value": "Do tego urządzenia podłączony jest inny proces." + } + ], + "webusb-error-clear-connect-description-2": [ + { + "type": 0, + "value": "Zamknij inne zakładki, które mogą korzystać z WebUSB (np. MakeCode, Edytor Pythona) lub odłącz i podłącz micro:bit przed ponowną próbą." + } + ], + "webusb-error-clear-connect-title": [ + { + "type": 0, + "value": "Inna strona lub zakładka przeglądarki jest połączona z tym micro:bitem" + } + ], + "webusb-error-default-title": [ + { + "type": 0, + "value": "Błąd WebUSB" + } + ], + "webusb-error-reconnect-microbit-description": [ + { + "children": [ + { + "type": 0, + "value": "Postępuj zgodnie z tymi krokami, a następnie spróbuj ponownie:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "odłącz kabel USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "odłącz pakiet baterii, jeśli jest podłączony" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "ponownie podłącz kabel USB" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "ponownie podłącz pakiet baterii, jeśli był podłączony" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" + } + ], + "webusb-not-supported": [ + { + "type": 0, + "value": "Niestety WebUSB nie jest obsługiwany w tej przeglądarce, a Twój program zostanie zapisany na Twoim komputerze. Wykonaj kroki na następnym ekranie, aby przenieść program na swój micro:bit. Zalecamy Google Chrome lub Microsoft Edge, abyś mógł połączyć się bezpośrednio ze swoim micro:bitem." + } + ], + "webusb-not-supported-title": [ + { + "type": 0, + "value": "Ta przeglądarka nie obsługuje WebUSB" + } + ], + "webusb-why-use": [ + { + "type": 0, + "value": "Za pomocą WebUSB możesz programować swój micro:bit i połączyć się z konsolą szeregową bezpośrednio z edytora online." + } + ], + "welcome-message": [ + { + "type": 0, + "value": "Obejrzyj nasz krótki przewodnik po niektórych kluczowych funkcjach lub natychmiast zacznij kodować." + } + ], + "welcome-title": [ + { + "type": 0, + "value": "Witaj w edytorze Pythona dla micro:bita" + } + ], + "welcome-video-alt": [ + { + "type": 0, + "value": "film wprowadzający edytor Pythona" + } + ], + "zoom-in-action": [ + { + "type": 0, + "value": "Powiększ" + } + ], + "zoom-out-action": [ + { + "type": 0, + "value": "Pomniejsz" + } + ] +} \ No newline at end of file diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index 95be98b24..e1c3725f8 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -1168,7 +1168,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "图片无法离线使用图像" } ], "open-action": [ @@ -1705,13 +1705,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "显示有关仅限 V2 的特性的警告" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "当 micro:bit V1 连接时,编辑器中会显示警告" } ], "settings": [ @@ -2443,7 +2443,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "禁用有关 V2 独有特性的警告" } ], "webusb-error-clear-connect-description-1": [ @@ -2461,7 +2461,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "无法声明接口" + "value": "另一个页面或浏览 tab 选项卡已连接到此 micro:bit" } ], "webusb-error-default-title": [ @@ -2472,8 +2472,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "请重新连接 micro:bit 然后再次尝试。" + "children": [ + { + "type": 0, + "value": "请按照以下步骤操作,然后重试:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "拔下 USB 电缆" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "拔下电池组(如果已连接)" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "重新连接 USB 电缆" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "重新连接电池组(如果已连接)" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2509,7 +2561,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "介绍 Python 编辑器的视频" } ], "zoom-in-action": [ diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index 1896ed3eb..6d815f889 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -406,7 +406,7 @@ "cookies-action": [ { "type": 0, - "value": "Cookies" + "value": "餅乾" } ], "copied": [ @@ -1164,7 +1164,7 @@ "offline-image-alt": [ { "type": 0, - "value": "Image unavailable offline" + "value": "圖像無法離線使用" } ], "open-action": [ @@ -1712,13 +1712,13 @@ "setting-warn-on-v2-only-features": [ { "type": 0, - "value": "Show warnings about V2-only features" + "value": "顯示僅 V2 功能的警告" } ], "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnings are shown in the editor when a micro:bit V1 is connected" + "value": "連線micro:bit V1 時,編輯程式器中會顯示警告" } ], "settings": [ @@ -2116,7 +2116,7 @@ "simulator-radio-code": [ { "type": 0, - "value": "micro:bit sent:" + "value": "micro:bit 發送:" } ], "simulator-radio-group-notice": [ @@ -2162,7 +2162,7 @@ "simulator-radio-user": [ { "type": 0, - "value": "You sent:" + "value": "你發送:" } ], "simulator-reference-link": [ @@ -2442,7 +2442,7 @@ "warn-on-v2-only-features-action": [ { "type": 0, - "value": "Disable warnings about V2-only features" + "value": "停用有關僅 V2 功能的警告" } ], "webusb-error-clear-connect-description-1": [ @@ -2460,7 +2460,7 @@ "webusb-error-clear-connect-title": [ { "type": 0, - "value": "無法宣告介面" + "value": "另一個頁面或瀏覽器索引標籤已連線到此 micro:bit" } ], "webusb-error-default-title": [ @@ -2471,8 +2471,60 @@ ], "webusb-error-reconnect-microbit-description": [ { - "type": 0, - "value": "請重新連接你的 micro:bit 後再試一次。" + "children": [ + { + "type": 0, + "value": "請依照以下步驟操作,然後重試:" + } + ], + "type": 8, + "value": "p" + }, + { + "children": [ + { + "children": [ + { + "type": 0, + "value": "拔下USB 電纜" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "拔下電池組(如果已安裝)" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "重新連接USB 線" + } + ], + "type": 8, + "value": "li" + }, + { + "children": [ + { + "type": 0, + "value": "重新連接電池組(如果已安裝)" + } + ], + "type": 8, + "value": "li" + } + ], + "type": 8, + "value": "ul" } ], "webusb-not-supported": [ @@ -2508,7 +2560,7 @@ "welcome-video-alt": [ { "type": 0, - "value": "video introducing the Python Editor" + "value": "介紹 Python 編輯程式器的視頻" } ], "zoom-in-action": [ diff --git a/src/micropython/main/typeshed.ca.json b/src/micropython/main/typeshed.ca.json index 9cc6a8e8f..2cc19cba8 100644 --- a/src/micropython/main/typeshed.ca.json +++ b/src/micropython/main/typeshed.ca.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respon al so fent servir el micr\u00f2fon integrat (nom\u00e9s V2). (micr\u00f2fon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obt\u00e9 l'\u00faltim esdeveniment de sonor gravat (esdeveniment actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprova si s'ha sentit un so almenys una vegada des de l'\u00faltima crida. (va ser un esdeveniment)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprova l'esdeveniment sonor m\u00e9s recent detectat. (\u00e9s un esdeveniment)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obt\u00e9 l'historial d'esdeveniments sonors com una tupla. (obt\u00e9 esdeveniments)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Assigna el llinar per un esdeveniment sonor (estableix llindar)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (esdeveniment) Un esdeveniment sonor, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El llindar en l'interval 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obt\u00e9 el nivell de pressi\u00f3 sonora. (nivell de so)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controla l'altaveu integrat (nom\u00e9s V2). (altaveu)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga l'altaveu.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n l'altaveu.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunica amb un dispositiu mitjan\u00e7ant una interf\u00edcie s\u00e8rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paritat senar (senar)\"\"\"\nEVEN: int\n\"\"\"Paritat parella (parell)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 en s\u00e8rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: La mida dels bytes que es transmeten. micro:bit nom\u00e9s n'admet 8.\n:param parity: (paritat) Com es verifica la paritat, ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (atura) El nombre de bits de parada ha de ser 1 per micro:bit.\n:param tx: Pin transmissor.\n:param rx: Receiving pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Verifica si hi ha alguna data esperant.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``uart.read()``\n\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim tants bytes, en cas contrari llegeix tants bytes com sigui possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Llegeix bytes al ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: La mem\u00f2ria interm\u00e8dia a on escriure.\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim aquests bytes, en cas contrari llegeix ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Llegir una l\u00ednia que acaba en un car\u00e0cter de nova l\u00ednia.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escriu una mem\u00f2ria interm\u00e8dia al bus (escriu)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objecte bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.de.json b/src/micropython/main/typeshed.de.json index 9835b2b1c..4ac974c48 100644 --- a/src/micropython/main/typeshed.de.json +++ b/src/micropython/main/typeshed.de.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber das I2C-Busprotokoll.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Eine Peripherie neu initialisieren.\n\nExample: ``i2c.init()``\n\n:param freq: Taktfrequenz\n:param sda: ``sda`` Pin (standardm\u00e4\u00dfig 20)\n:param scl: ``scl`` Pin (standardm\u00e4\u00dfig 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scannt den Bus nach Ger\u00e4ten.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Liest Bytes von einem Ger\u00e4t..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param n: Die Anzahl der zu lesenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schreibe Bytes auf ein Ger\u00e4t. (schreiben)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param buf: Ein Puffer mit den zu schreibenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reagiere auf Ton mithilfe des integrierten Mikrofons (nur V2). (Mikrofon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Abrufen des letzten aufgezeichneten Sound-Ereignisses\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfung, ob seit dem letzten Anruf mindestens einmal ein Ger\u00e4usch geh\u00f6rt wurde.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfe das zuletzt erkannte Sound-Ereignis.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Liefert den Verlauf der Sound-Ereignisse in Form eines Tupels.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Legt den Schwellenwert f\u00fcr ein Sound-Ereignis fest.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Ein Sound-Ereignis, wie ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``.\n:param value: (wert) Der Schwellenwert im Bereich 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Ermittle den Schalldruckpegel. (Lautst\u00e4rke)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Steuere den integrierten Lautsprecher (nur V2). (Lautsprecher)\"\"\"\n\ndef off() -> None:\n \"\"\"Lautsprecher ausschalten.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Lautsprecher einschalten.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibe Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibe Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Verbindet mit einem Ger\u00e4t \u00fcber eine serielle Schnittstelle.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Ungerade Parit\u00e4t\"\"\"\nEVEN: int\n\"\"\"Gerade Parit\u00e4t (gerade)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialisiere die serielle Kommunikation.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Baudrate) Die \u00dcbertragungsgeschwindigkeit.\n:param bits: (Bits) Die Gr\u00f6\u00dfe der Bytes die \u00fcbertragen werden. micro:bit unterst\u00fctzt nur 8.\n:param parity: (Parit\u00e4t) Wie Parit\u00e4t gepr\u00fcft wird, ``None``, ``uart.ODD`` oder ``uart.EVEN``.\n:param stop: (Stop) Die Anzahl der Stopbits, muss 1 f\u00fcr micro:bit sein.\n:param tx: Sendepin.\n:param rx: Empfangspin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob irgendwelche Daten warten.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Bytes lesen.\n\nExample: ``uart.read()``\n\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden so viele Bytes wie m\u00f6glich gelesen.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lese Bytes in ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Der Puffer, in den geschrieben werden soll.\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden ``len(buf)`` Bytes gelesen.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Liest eine Zeile bis zum Zeilenumbruch.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schreibt einen Puffer auf den Bus. (schreiben)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Ein Byte-Objekt oder ein String.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.es-es.json b/src/micropython/main/typeshed.es-es.json index 391c800ce..d480f3c3f 100644 --- a/src/micropython/main/typeshed.es-es.json +++ b/src/micropython/main/typeshed.es-es.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicarse con dispositivos que usan el protocolo de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicia un perif\u00e9rico. (inic)\n\nExample: ``i2c.init()``\n\n:param freq: (frec) frecuencia del reloj\n:param sda: pin ``sda`` (por defecto, 20)\n:param scl: pin ``scl`` (por defecto, 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escanea el bus para buscar dispositivos. (escanear)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lee bytes de un dispositivo. (leer)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param n: El n\u00famero de bytes a leer\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escribe bytes en un dispositivo. (escribir)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param buf: (b\u00faf) Un b\u00fafer que contiene los bytes a escribir\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Responde al sonido usando el micr\u00f3fono integrado (solo V2). (micr\u00f3fono)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obtiene el \u00faltimo evento de sonido grabado (evento actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba si se ha escuchado un sonido al menos una vez desde la \u00faltima llamada. (evento anterior)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba el evento de sonido m\u00e1s reciente detectado. (evento reciente)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obtiene el historial de eventos de sonido como una tupla. (obtener eventos)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Establece el umbral para un evento de sonido. (configurar l\u00edmite)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (evento) Un evento de sonido, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El nivel de umbral en el rango 0 - 255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtiene el nivel de presi\u00f3n sonora. (nivel de sonido)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controlar el altavoz integrado (solo V2). (altavoz)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga el altavoz. (apagado)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende el altavoz. (encendido)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lee bytes. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lee bytes. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:param out: (a) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunicarse con un dispositivo usando una interfaz serie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paridad impar (impar)\"\"\"\nEVEN: int\n\"\"\"Paridad par (par)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n serie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El tama\u00f1o de bytes transmitidos; micro:bit solo admite 8.\n:param parity: (paridad) C\u00f3mo se comprueba la paridad: ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (detener) El n\u00famero de bits de parada; tiene que ser 1 para el micro:bit.\n:param tx: Pin transmisor.\n:param rx: Pin receptor.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Comprueba si hay datos en espera. (alg\u00fan)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lee bytes. (leer)\n\nExample: ``uart.read()``\n\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee tantos bytes como sea posible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lee bytes en el ``buf``. (leeren)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (b\u00faf) El b\u00fafer en el que escribir.\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lee una l\u00ednea, terminando en un car\u00e1cter de nueva l\u00ednea. (leerl\u00ednea)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escribe un b\u00fafer en el bus. (escribir)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (b\u00faf) Un objeto de bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.fr.json b/src/micropython/main/typeshed.fr.json index 987c50779..ab9d31408 100644 --- a/src/micropython/main/typeshed.fr.json +++ b/src/micropython/main/typeshed.fr.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques en utilisant le protocole de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"R\u00e9initialiser un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.init()``\n\n:param freq: fr\u00e9quence d'horloge\n:param sda: Broche ``sda`` (19 par d\u00e9faut)\n:param scl: Broche ``scl`` (19 par d\u00e9faut)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scanner le bus pour d\u00e9tecter des p\u00e9riph\u00e9riques.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lire des octets depuis un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param n: Le nombre d'octets \u00e0 lire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u00c9crire des octets sur un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param buf: Un buffer contenant les octets \u00e0 \u00e9crire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"R\u00e9agir \u00e0 du son en utilisant le microphone int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"R\u00e9cup\u00e9rer le dernier \u00e9v\u00e9nement sonore enregistr\u00e9\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier si un son a \u00e9t\u00e9 entendu au moins une fois depuis le dernier appel.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier l'\u00e9v\u00e9nement sonore le plus r\u00e9cent d\u00e9tect\u00e9.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"R\u00e9cup\u00e9rer l'historique des \u00e9v\u00e9nements sonores en tant que tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"D\u00e9finir le seuil pour un \u00e9v\u00e9nement sonore.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Un \u00e9v\u00e9nement sonore, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``.\n:param value: Le niveau du seuil dans la plage 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtenir le niveau de pression acoustique.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Contr\u00f4ler le haut-parleur int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\n\ndef off() -> None:\n \"\"\"\u00c9teindre le haut-parleur.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Activer le haut-parleur.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiquer avec un p\u00e9riph\u00e9rique \u00e0 l'aide d'une interface s\u00e9rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Parit\u00e9 impaire\"\"\"\nEVEN: int\n\"\"\"Parit\u00e9 paire\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiser la communication s\u00e9rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: La vitesse de communication.\n:param bits: La taille des octets transmis. micro:bit ne prend en charge que 8.\n:param parity: Comment la parit\u00e9 est v\u00e9rifi\u00e9e, ``None``, ``uart.ODD`` ou ``uart.EVEN``.\n:param stop: Le nombre de bits d'arr\u00eat, doit \u00eatre 1 pour micro:bit.\n:param tx: Broche de transmission.\n:param rx: Broche de r\u00e9ception.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"V\u00e9rifier s'il y a des donn\u00e9es en attente.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lire des octets.\n\nExample: ``uart.read()``\n\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire autant d'octets que possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lire les octets dans le ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Le buffer dans lequel \u00e9crire.\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire ``len(buf)`` octets.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lire une ligne termin\u00e9e par un caract\u00e8re de nouvelle ligne.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u00c9crire un buffer sur un bus\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objet d'octets ou une cha\u00eene de caract\u00e8res.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.ja.json b/src/micropython/main/typeshed.ja.json index fdc6c86e3..2e2e52817 100644 --- a/src/micropython/main/typeshed.ja.json +++ b/src/micropython/main/typeshed.ja.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \u30d0\u30b9\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u3092\u518d\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u30af\u30ed\u30c3\u30af\u5468\u6ce2\u6570\n:param sda: ``sda`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 20\uff09\n:param scl: ``scl`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 19\uff09\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u30d0\u30b9\u3092\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u3092\u63a2\u3057\u307e\u3059\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param n: \u8aad\u307f\u53d6\u308b\u30d0\u30a4\u30c8\u6570\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param buf: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u3092\u542b\u3080\u30d0\u30c3\u30d5\u30a1\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u5185\u8535\u30de\u30a4\u30af\u3092\u4f7f\u3063\u3066\u97f3\u306b\u5fdc\u7b54\u3057\u307e\u3059\uff08V2 \u306e\u307f\uff09\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u5c11\u306a\u304f\u3068\u3082\u4e00\u5ea6\u306f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u8fd1\u306b\u691c\u51fa\u3055\u308c\u305f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u3001\u78ba\u8a8d\u3059\u308b\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u5c65\u6b74\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3002\n:param value: 0\uff5e255\u306e\u7bc4\u56f2\u3067\u6307\u5b9a\u3059\u308b\u3057\u304d\u3044\u5024\u30ec\u30d9\u30eb\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u97f3\u5727\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\uff08V2\u306e\u307f\uff09\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\nEVEN: int\n\"\"\"\u5076\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u3059\u308b\u30d3\u30c3\u30c8\u5e45\u3002micro:bit\u306f8\u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\n:param parity: \u30d1\u30ea\u30c6\u30a3\u306e\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5\u3002``None``\u3001``uart.ODD``\u3001``uart.EVEN`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param stop: \u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u306e\u6570\u306fmicro:bit\u3067\u306f1\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n:param tx: \u9001\u4fe1\u7aef\u5b50\u3002\n:param rx: \u53d7\u4fe1\u7aef\u5b50\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u53d7\u4fe1\u5f85\u3061\u306e\u30c7\u30fc\u30bf\u304c\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u3067\u304d\u308b\u3060\u3051\u591a\u304f\u8aad\u307f\u53d6\u308a\u307e\u3059\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf`` \u306b\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001``len(buf)`` \u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u6539\u884c\u6587\u5b57\u3067\u7d42\u308f\u308b\u884c\u3092\u8aad\u307f\u307e\u3059\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u30d0\u30b9\u306b\u30d0\u30c3\u30d5\u30a1\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u30d0\u30a4\u30c8\u5217\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u305f\u306f\u6587\u5b57\u5217\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.ko.json b/src/micropython/main/typeshed.ko.json index bd06f1b73..9f7339366 100644 --- a/src/micropython/main/typeshed.ko.json +++ b/src/micropython/main/typeshed.ko.json @@ -8,7 +8,7 @@ "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", "/typeshed/stdlib/gc.pyi": "\"\"\"\uac00\ube44\uc9c0 \uceec\ub809\ud130 \uc81c\uc5b4\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\ud560\ub2f9\ub41c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\uc774\uc6a9 \uac00\ub2a5\ud55c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. \uac12\uc744 \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0 -1\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc774 \ud2b8\ub9ac\uac70\ub418\ub294 \ubc14\uc774\ud2b8 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...", - "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\ub808\uc774\ube14) \uac01\uac01 \ub85c\uadf8 \ud5e4\ub354\uc758 \ud56d\ubaa9\uc5d0 \ud574\ub2f9\ud558\ub294 \uc784\uc758\uc758 \uc704\uce58 \uc778\uc218 \uc218\uc785\ub2c8\ub2e4.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) \ubaa8\ub4e0 \ud589\uc758 \uccab \ubc88\uc9f8\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc0bd\uc785\ub420 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub2e8\uc704\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uac12\uc740 ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS``\uac00 \ub420 \uc218 \uc788\uace0 \ube44\ud65c\uc131\ud654\ud558\ub824\uba74 ``None``\uac12\uc73c\ub85c \uc124\uc815\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uae30\ubcf8\uac12\uc740 ``log.SECONDS``\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\ub370\uc774\ud130 \uc0ac\uc804) \uac01 \ud5e4\ub354\uc5d0 \ub300\ud55c \ud0a4\uac00 \uc788\ub294 \uc0ac\uc804\uc73c\ub85c \uae30\ub85d\ud560 \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True``\ub294 \"\uc804\uccb4\" \uc9c0\uc6b0\uae30\ub97c \uc120\ud0dd\ud558\uace0 ``False``\ub294 \"\ube60\ub978\" \uc9c0\uc6b0\uae30 \ubc29\ubc95\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\uc9c1\ub82c \ucd9c\ub825\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ub85c\uae45 \uc791\uc5c5 \ubbf8\ub7ec\ub9c1\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\ub808\uc774\ube14) \uac01\uac01 \ub85c\uadf8 \ud5e4\ub354\uc758 \ud56d\ubaa9\uc5d0 \ud574\ub2f9\ud558\ub294 \uc784\uc758\uc758 \uc704\uce58 \uc778\uc218 \uc218\uc785\ub2c8\ub2e4.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) \ubaa8\ub4e0 \ud589\uc758 \uccab \ubc88\uc9f8\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc0bd\uc785\ub420 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub2e8\uc704\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uac12\uc740 ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS``\uac00 \ub420 \uc218 \uc788\uace0 \ube44\ud65c\uc131\ud654\ud558\ub824\uba74 ``None``\uac12\uc73c\ub85c \uc124\uc815\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uae30\ubcf8\uac12\uc740 ``log.SECONDS``\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\ub370\uc774\ud130 \uc0ac\uc804) \uac01 \ud5e4\ub354\uc5d0 \ub300\ud55c \ud0a4\uac00 \uc788\ub294 \uc0ac\uc804\uc73c\ub85c \uae30\ub85d\ud560 \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True``\ub294 \"\uc804\uccb4\" \uc9c0\uc6b0\uae30\ub97c \uc120\ud0dd\ud558\uace0 ``False``\ub294 \"\ube60\ub978\" \uc9c0\uc6b0\uae30 \ubc29\ubc95\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\uc9c1\ub82c \ucd9c\ub825\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ub85c\uae45 \uc791\uc5c5 \ubbf8\ub7ec\ub9c1\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True``\ub85c \uc124\uc815\ud560 \uacbd\uc6b0 \uc2dc\ub9ac\uc5bc \ucd9c\ub825 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub370\uc774\ud130\ub97c \ubbf8\ub7ec\ub9c1\ud558\ub294 \uac83\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", "/typeshed/stdlib/machine.pyi": "\"\"\"\ub85c\uc6b0 \ub808\ubca8 \uc720\ud2f8\ub9ac\ud2f0\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\ubcf4\ub4dc\uc758 \uace0\uc720 \uc2dd\ubcc4\uc790\uac00 \uc788\ub294 \ubc14\uc774\ud2b8 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc678\ubd80 \ucd08\uae30\ud654 \ubc84\ud2bc\uc744 \ub204\ub978 \uac83\uacfc \uc720\uc0ac\ud55c \ubc29\uc2dd\uc73c\ub85c \uae30\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\ud5e4\ub974\uce20\ub85c \ud45c\uc2dc\ub41c CPU \uc9c4\ub3d9\uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \uc7ac\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \ud568\uc218\uc5d0\uc11c \uac00\uc7a5 \ucd5c\uadfc\uc5d0 \ud638\ucd9c\ub41c \uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\ud540 \ud384\uc2a4 \uc2dc\uac04\uc744 \uce21\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\ud540) \uc0ac\uc6a9\ud560 \ud540\n:param pulse_level: (\ud384\uc2a4 \ub808\ubca8) \ub85c\uc6b0 \ud384\uc2a4\uc758 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub824\uba74 0, \ud558\uc774 \ud384\uc2a4\ub294 1\n:param timeout_us: \ub9c8\uc774\ud06c\ub85c\ucd08 \uc2dc\uac04 \ucd08\uacfc\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``, ``mem16``, ``mem32`` \uba54\ubaa8\ub9ac \ubdf0 \ud074\ub798\uc2a4\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\uba54\ubaa8\ub9ac \uac12\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\uc81c\uacf5\ub41c \uc8fc\uc18c\uc5d0 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:param value: \uc124\uc815\ud560 \uc815\uc218\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\nmem8: mem\n\"\"\"8\ube44\ud2b8(\ubc14\uc774\ud2b8) \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem16: mem\n\"\"\"16\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem32: mem\n\"\"\"32\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"", "/typeshed/stdlib/math.pyi": "\"\"\"\uc218\ud559 \ud568\uc218\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\ucf54\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.acos(1)``\n\n:param x: \uc22b\uc790\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.asin(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\ud0c4\uc820\ud2b8\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x``\uc758 \uc5ed \ud0c4\uc820\ud2b8\uc758 \uc8fc \uac12\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \uc22b\uc790\n:param x: \uc22b\uc790\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\uc591\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.ceil(0.1)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc0ac\uc778 \uac12\uc73c\ub85c ``x``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \uc22b\uc790\n:param y: \ubc18\ud658\uac12\uc758 \uc0ac\uc778\uc758 \ucd9c\ucc98\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x``\uc758 \ucf54\uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.cos(0)``\n\n:param x: \uc22b\uc790\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\ud638\ub3c4\ubc95\uc744 \uac01\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. (\ub3c4)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \ud638\ub3c4\ubc95 \uac12\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x``\uc758 \uc9c0\uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.exp(1)``\n\n:param x: \uc22b\uc790\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x``\uc758 \uc808\ub313\uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \uc22b\uc790\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\uc74c\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.floor(0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y``\uc758 \ub098\uba38\uc9c0\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \ubd84\uc790\n:param y: \ubd84\ubaa8\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uac00\uc218\uc640 \uc9c0\uc218\ub85c \ubd84\ud574\ud569\ub2c8\ub2e4.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc720\ud55c\uac12\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\uac12\uc774 \ubb34\ud55c\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc22b\uc790\uac00 \uc544\ub2cc \uac12(NaN)\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \uc22b\uc790\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \uc22b\uc790\n:param exp: \uc815\uc218 \uc9c0\uc218\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x``\uc758 \ub85c\uadf8\ub97c \uc8fc\uc5b4\uc9c4 \ubca0\uc774\uc2a4\uc5d0 \ub530\ub77c \uacc4\uc0b0\ud569\ub2c8\ub2e4(\uae30\ubcf8\uac12\uc740 \uc790\uc5f0\ub85c\uadf8).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \uc22b\uc790\n:param base: \uc0ac\uc6a9\ud560 \ubca0\uc774\uc2a4\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x``\uc758 \ubd84\uc218 \ubc0f \uc815\uc218 \ubd80\ubd84\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \uc22b\uc790\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc81c\uacf1\uc744 ``x``(\uc73c)\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \uc22b\uc790\n:param y: \uc9c0\uc218\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\uac01\ub3c4\ubc95\uc744 \ud638\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.radians(360)``\n\n:param x: \uac01\ub3c4\ubc95 \uac12\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x``\uc758 \uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \uc22b\uc790\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x``\uc758 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sqrt(4)``\n\n:param x: \uc22b\uc790\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x``\uc758 \ud0c4\uc820\ud2b8\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.tan(0)``\n\n:param x: \uc22b\uc790\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\uc22b\uc790\ub97c 0\uc73c\ub85c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\uc790\uc5f0 \uc54c\uace0\ub9ac\uc998 \ubca0\uc774\uc2a4\"\"\"\npi: float\n\"\"\"\uc6d0\uc758 \uc6d0\uc8fc\uc640 \uc9c0\ub984\uc758 \ube44\uc728\"\"\"", @@ -35,7 +35,7 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\ub9e4\uac1c \ubcc0\uc218\ub85c \uc8fc\uc5b4\uc9c4 \uc77c\uc815\ud55c \uc2dc\uac04(\ubc00\ub9ac\ucd08, ms)\ub9c8\ub2e4 \ud2b9\uc815 \ud568\uc218\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. **micro:bit V2 \uc804\uc6a9**\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \uc8fc\uc5b4\uc9c4 \uc2dc\uac04\uc774 \ub418\uc5c8\uc744 \ub54c \ud638\ucd9c\ud560 \ud568\uc218. \ub370\ucf54\ub808\uc774\ud130(\uc7a5\uc2dd\uc790)\ub85c \uc0ac\uc6a9\ud560 \ub54c \ud638\ucd9c.\n:param days: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ub0a0 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param h: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \uc2dc\uac04 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param min: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubd84 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param s: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param ms: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubc00\ub9ac\ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\uc758 \uac00\uc18d\ub3c4\ub97c \uce21\uc815\ud558\uace0 \uc81c\uc2a4\uccd0\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\ud55c \ubc88\uc5d0 \ubaa8\ub4e0 \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 \ud29c\ud50c\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\ud604\uc7ac \uc81c\uc2a4\ucc98\uc758 \uc774\ub984\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ud604\uc7ac \ud65c\uc131\ud654 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\uccd0 \uc774\ub984.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \ud65c\uc131\ud654\ub41c \uc801\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\ucc98 \uc774\ub984\uc785\ub2c8\ub2e4.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\uc81c\uc2a4\ucc98 \uae30\ub85d\uc758 \ud29c\ud50c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\ub0b4\uc7a5\ub41c \ub098\uce68\ubc18\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. (\ub098\uce68\ubc18)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\ubcf4\uc815 \ud504\ub85c\uc138\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\ub098\uce68\ubc18\uc774 \ubcf4\uc815\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\ubcf4\uc815\uc744 \ud574\uc81c\ud574 \ub098\uce68\ubc18\uc744 \ubcf4\uc815\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\ub098\uce68\ubc18\uc758 \ubc29\ud5a5\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\uc7a5\uce58 \uc8fc\ubcc0\uc758 \uc790\uae30\uc7a5 \uaddc\ubaa8\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \ubc84\uc2a4 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uae30\uae30\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\uc8fc\ubcc0 \uc7a5\uce58\ub97c \ub2e4\uc2dc \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.init()``\n\n:param freq: \ud074\ub7ed \uc9c4\ub3d9\uc218\n:param sda: ``scl`` \ud540(\uae30\ubcf8\uac12 20)\n:param scl: ``scl`` \ud540(\uae30\ubcf8\uac12 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\ubc84\uc2a4\uc5d0\uc11c \uc7a5\uce58\ub97c \uc2a4\uce94\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\uc7a5\uce58\uc5d0\uc11c \ubc14\uc774\ud2b8 \uac12\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param n: \uc77d\uc744 \ubc14\uc774\ud2b8 \uc218\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\uc7a5\uce58\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param buf: \uc791\uc131\ud560 \ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \ubc84\ud37c\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\ub0b4\uc7a5 \ub9c8\uc774\ud06c\ub97c \uc0ac\uc6a9\ud574 \uc18c\ub9ac\uc5d0 \ubc18\uc751\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uae30\ub85d\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \uc18c\ub9ac\uac00 \ub4e4\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\uac00\uc7a5 \ucd5c\uadfc \ud0d0\uc9c0\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uae30\ub85d\uc744 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc758 \uc18c\ub9ac \uc774\ubca4\ud2b8\uc785\ub2c8\ub2e4.\n:param value: 0~255\uc758 \ubc94\uc704\ub85c \ub41c \uc784\uacc4\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\uc74c\uc555 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\ub97c \uc81c\uc5b4\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\n\ndef off() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ub055\ub2c8\ub2e4.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\uc9c1\ub82c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\ud640\uc218 \ud328\ub9ac\ud2f0\"\"\"\nEVEN: int\n\"\"\"\uc9dd\uc218 \ud328\ub9ac\ud2f0\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\uc9c1\ub82c \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uc804\uc1a1\ub418\ub294 \ubc14\uc774\ud2b8\uc758 \ud06c\uae30\uc785\ub2c8\ub2e4. micro:bit\ub294 8\ubc14\uc774\ud2b8\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\n:param parity: (\ud328\ub9ac\ud2f0) \ud328\ub9ac\ud2f0\uac00 \uccb4\ud06c\ub418\ub294 \ubc29\uc2dd\uc73c\ub85c ``None``, ``uart.ODD`` \ub610\ub294 ``uart.EVEN``\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n:param stop: \uc2a4\ud1b1 \ube44\ud2b8\uc758 \ubc88\ud638\uc785\ub2c8\ub2e4. micro:bit\ub294 1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n:param tx: \uc804\uc1a1\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param rx: \uc218\uc2e0\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\ub300\uae30 \uc911\uc778 \ub370\uc774\ud130\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ucd5c\ub300\ud55c \ub9ce\uc740 \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf``\ub85c \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \ubc14\uc774\ud2b8\ub97c \uae30\ub85d\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 ``len(buf)``\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\uc0c8\ub85c\uc6b4 \uc904 \ubb38\uc790\ub85c \ub05d\ub098\ub294 \uc904\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc84\ud37c\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\n\nExample: ``uart.write('hello world')``\n\n:param buf: \ubc14\uc774\ud2b8 \uc624\ube0c\uc81d\ud2b8 \ub610\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.lol.json b/src/micropython/main/typeshed.lol.json index cdc89107f..149dcdb30 100644 --- a/src/micropython/main/typeshed.lol.json +++ b/src/micropython/main/typeshed.lol.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"crwdns330140:0crwdne330140:0 (crwdns330138:0crwdne330138:0)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"crwdns330144:0crwdne330144:0 (crwdns330142:0crwdne330142:0)\n\nExample: ``i2c.init()``\n\n:param freq: (crwdns330146:0crwdne330146:0) crwdns330148:0crwdne330148:0\n:param sda: (crwdns330154:0crwdne330154:0) crwdns330156:0``sda``crwdne330156:0\n:param scl: (crwdns330150:0crwdne330150:0) crwdns330152:0``scl``crwdne330152:0\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"crwdns330160:0crwdne330160:0 (crwdns330158:0crwdne330158:0)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"crwdns330164:0crwdne330164:0 (crwdns330162:0crwdne330162:0)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (crwdns330166:0crwdne330166:0) crwdns330168:0crwdne330168:0\n:param n: (crwdns330170:0crwdne330170:0) crwdns330172:0crwdne330172:0\n:param repeat: (crwdns330174:0crwdne330174:0) crwdns330176:0``True``crwdne330176:0\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"crwdns330180:0crwdne330180:0 (crwdns330178:0crwdne330178:0)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (crwdns330182:0crwdne330182:0) crwdns330184:0crwdne330184:0\n:param buf: (crwdns330186:0crwdne330186:0) crwdns330188:0crwdne330188:0\n:param repeat: (crwdns330190:0crwdne330190:0) crwdns330192:0``True``crwdne330192:0\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"crwdns330196:0crwdne330196:0 (crwdns330194:0crwdne330194:0)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"crwdns330200:0crwdne330200:0 (crwdns330198:0crwdne330198:0)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"crwdns330204:0crwdne330204:0 (crwdns330202:0crwdne330202:0)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (crwdns330206:0crwdne330206:0) crwdns330208:0``SoundEvent.LOUD``crwdnd330208:0``SoundEvent.QUIET``crwdne330208:0\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"crwdns330212:0crwdne330212:0 (crwdns330210:0crwdne330210:0)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (crwdns330214:0crwdne330214:0) crwdns330216:0``SoundEvent.LOUD``crwdnd330216:0``SoundEvent.QUIET``crwdne330216:0\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"crwdns330220:0crwdne330220:0 (crwdns330218:0crwdne330218:0)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"crwdns330224:0crwdne330224:0 (crwdns330222:0crwdne330222:0)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (crwdns330226:0crwdne330226:0) crwdns330228:0``SoundEvent.LOUD``crwdnd330228:0``SoundEvent.QUIET``crwdne330228:0\n:param value: (crwdns330230:0crwdne330230:0) crwdns330232:0crwdne330232:0\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"crwdns330236:0crwdne330236:0 (crwdns330234:0crwdne330234:0)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"crwdns330240:0crwdne330240:0 (crwdns330238:0crwdne330238:0)\"\"\"\n\ndef off() -> None:\n \"\"\"crwdns330244:0crwdne330244:0 (crwdns330242:0crwdne330242:0)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"crwdns330248:0crwdne330248:0 (crwdns330246:0crwdne330246:0)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"crwdns330252:0crwdne330252:0 (crwdns330250:0crwdne330250:0)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"crwdns330256:0crwdne330256:0 (crwdns330254:0crwdne330254:0)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (crwdns330258:0crwdne330258:0) crwdns330260:0crwdne330260:0\n:param bits: (crwdns330262:0crwdne330262:0) crwdns334412:0crwdne334412:0\n:param mode: (crwdns330270:0crwdne330270:0) crwdns330272:0crwdne330272:0\n:param sclk: (crwdns330278:0crwdne330278:0) crwdns330280:0crwdne330280:0\n:param mosi: (crwdns330274:0crwdne330274:0) crwdns330276:0crwdne330276:0\n:param miso: (crwdns330266:0crwdne330266:0) crwdns330268:0crwdne330268:0\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"crwdns330284:0crwdne330284:0 (crwdns330282:0crwdne330282:0)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (crwdns330286:0crwdne330286:0) crwdns330288:0crwdne330288:0\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"crwdns330292:0crwdne330292:0 (crwdns330290:0crwdne330290:0)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (crwdns330294:0crwdne330294:0) crwdns330296:0crwdne330296:0\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"crwdns330300:0``out``crwdnd330300:0``in_``crwdne330300:0 (crwdns330298:0crwdne330298:0)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (crwdns330306:0crwdne330306:0) crwdns330308:0crwdne330308:0\n:param in_: (crwdns330302:0crwdne330302:0) crwdns330304:0crwdne330304:0\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"crwdns330252:0crwdne330252:0 (crwdns330250:0crwdne330250:0)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"crwdns330256:0crwdne330256:0 (crwdns330254:0crwdne330254:0)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (crwdns330258:0crwdne330258:0) crwdns330260:0crwdne330260:0\n:param bits: (crwdns330262:0crwdne330262:0) crwdns334412:0crwdne334412:0\n:param mode: (crwdns330270:0crwdne330270:0) crwdns330272:0crwdne330272:0\n:param sclk: (crwdns330278:0crwdne330278:0) crwdns330280:0crwdne330280:0\n:param mosi: (crwdns330274:0crwdne330274:0) crwdns330276:0crwdne330276:0\n:param miso: (crwdns330266:0crwdne330266:0) crwdns330268:0crwdne330268:0\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"crwdns330284:0``nbytes``crwdnd330284:0``out``crwdne330284:0 (crwdns330282:0crwdne330282:0)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (crwdns330286:0crwdne330286:0) crwdns330288:0crwdne330288:0\n:param out: (crwdns360362:0crwdne360362:0) crwdns360364:0crwdne360364:0\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"crwdns330292:0crwdne330292:0 (crwdns330290:0crwdne330290:0)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (crwdns330294:0crwdne330294:0) crwdns330296:0crwdne330296:0\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"crwdns330300:0``out``crwdnd330300:0``in_``crwdne330300:0 (crwdns330298:0crwdne330298:0)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (crwdns330306:0crwdne330306:0) crwdns330308:0crwdne330308:0\n:param in_: (crwdns330302:0crwdne330302:0) crwdns330304:0crwdne330304:0\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"crwdns330312:0crwdne330312:0 (crwdns330310:0crwdne330310:0)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"crwdns330316:0crwdne330316:0 (crwdns330314:0crwdne330314:0)\"\"\"\nEVEN: int\n\"\"\"crwdns330320:0crwdne330320:0 (crwdns330318:0crwdne330318:0)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"crwdns330324:0crwdne330324:0 (crwdns330322:0crwdne330322:0)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (crwdns330326:0crwdne330326:0) crwdns330328:0crwdne330328:0\n:param bits: (crwdns330330:0crwdne330330:0) crwdns330332:0crwdne330332:0\n:param parity: (crwdns330334:0crwdne330334:0) crwdns330336:0``None``crwdnd330336:0``uart.ODD``crwdnd330336:0``uart.EVEN``crwdne330336:0\n:param stop: (crwdns330342:0crwdne330342:0) crwdns330344:0crwdne330344:0\n:param tx: (crwdns330346:0crwdne330346:0) crwdns330348:0crwdne330348:0\n:param rx: (crwdns330338:0crwdne330338:0) crwdns330340:0crwdne330340:0\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"crwdns334688:0crwdne334688:0 (crwdns330350:0crwdne330350:0)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"crwdns330356:0crwdne330356:0 (crwdns330354:0crwdne330354:0)\n\nExample: ``uart.read()``\n\n:param nbytes: (crwdns330358:0crwdne330358:0) crwdns330360:0``nbytes``crwdne330360:0\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"crwdns330364:0``buf``crwdne330364:0 (crwdns330362:0crwdne330362:0)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (crwdns330366:0crwdne330366:0) crwdns330368:0crwdne330368:0\n:param nbytes: (crwdns330370:0crwdne330370:0) crwdns330372:0``nbytes``crwdnd330372:0``len(buf)``crwdne330372:0\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"crwdns330376:0crwdne330376:0 (crwdns330374:0crwdne330374:0)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"crwdns330380:0crwdne330380:0 (crwdns330378:0crwdne330378:0)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (crwdns330382:0crwdne330382:0) crwdns330384:0crwdne330384:0\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.nl.json b/src/micropython/main/typeshed.nl.json index f75b43176..ff2636483 100644 --- a/src/micropython/main/typeshed.nl.json +++ b/src/micropython/main/typeshed.nl.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reageer op geluid met de ingebouwde microfoon (V2 alleen). (microfoon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Krijg de laatst opgenomen geluidsgebeurtenis (huidige gebeurtenis)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Controleer of een geluid tenminste \u00e9\u00e9n keer is gehoord sinds het laatste gesprek.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Controleer de meest recente geluidsgebeurtenis gedetecteerd.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Krijg de geluidsgeschiedenis als tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Stel de drempel in voor een geluidsgebeurtenis. (stel drempelwaarde in)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (gebeurtenis) Een geluidsgebeurtenis, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``.\n:param value: (waarde) Het drempelniveau in het bereik 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Krijg het Geluidsdrukniveau. (geluidsniveau)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Beheer de ingebouwde luidspreker (alleen V2). (luidspreker)\"\"\"\n\ndef off() -> None:\n \"\"\"Luidspreker uitschakelen. (uit)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Luidspreker inschakelen (aan)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:param out: (uit) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiceer met een apparaat via een seri\u00eble interface.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Oneven pariteit (oneven)\"\"\"\nEVEN: int\n\"\"\"Even pariteit\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiseer seri\u00eble communicatie. (initialiseren)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De grootte van de bytes die worden verzonden. micro:bit ondersteunt slechts 8.\n:param parity: (pariteit) Hoe de pariteit is aangevinkt, ``None``, ``uart.ODD`` of ``uart.EVEN``.\n:param stop: Het aantal stop bits, moet 1 zijn voor micro:bit.\n:param tx: Verzend pin.\n:param rx: Ontvangende pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Controleer of er nog gegevens staan te wachten. (elke)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``uart.read()``\n\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan maximaal zoveel bytes, anders lees zo veel mogelijk bytes\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lees bytes in de ``buf``. (inlezen)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: De buffer om naar te schrijven.\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan hooguit zoveel bytes, anders lees ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lees een regel, eindigend in een nieuw karakter regel. (leesregel)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Een bytes object of een tekenreeks.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.pl.json b/src/micropython/main/typeshed.pl.json new file mode 100644 index 000000000..361c82072 --- /dev/null +++ b/src/micropython/main/typeshed.pl.json @@ -0,0 +1,51 @@ +{ + "files": { + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 (currently 3.5 and lower) are\n# generally accurate but we do not guarantee their correctness.\n\nantigravity: 3.0-\narray: 3.0-\naudio: 3.0-\nbuiltins: 3.0-\nerrno: 3.0-\ngc: 3.0-\nlove: 3.0-\nmachine: 3.0-\nmath: 3.0-\nmicrobit: 3.0-\nmicropython: 3.0-\nmusic: 3.0-\nneopixel: 3.0-\nos: 3.0-\nradio: 3.0-\nrandom: 3.0-\nspeech: 3.0-\nstruct: 3.0-\nsys: 3.0-\nthis: 3.0-\ntime: 3.0-\ntyping_extensions: 3.0-\ntyping: 3.0-\nuarray: 3.0-\nucollections: 3.0-\nuerrno: 3.0-\nuos: 3.0-\nurandom: 3.0-\nustruct: 3.0-\nusys: 3.0-\nutime: 3.0-", + "/typeshed/stdlib/abc.pyi": "from _typeshed import SupportsWrite\nfrom typing import Any, Callable, Tuple, Type, TypeVar\n\n_T = TypeVar(\"_T\")\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n def __init__(\n self, name: str, bases: Tuple[type, ...], namespace: dict[str, Any]\n ) -> None: ...\n def __instancecheck__(cls: ABCMeta, instance: Any) -> Any: ...\n def __subclasscheck__(cls: ABCMeta, subclass: Any) -> Any: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = ...) -> None: ...\n def register(cls: ABCMeta, subclass: Type[_T]) -> Type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractproperty(property): ...\n\n# These two are deprecated and not supported by mypy\ndef abstractstaticmethod(callable: _FuncT) -> _FuncT: ...\ndef abstractclassmethod(callable: _FuncT) -> _FuncT: ...\n\nclass ABC(metaclass=ABCMeta): ...\n\ndef get_cache_token() -> object: ...\n", + "/typeshed/stdlib/antigravity.pyi": "", + "/typeshed/stdlib/array.pyi": "from typing import Generic, Iterable, MutableSequence, TypeVar, Union, overload\nfrom typing_extensions import Literal\n\n_IntTypeCode = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode = Literal[\"f\", \"d\"]\n_TypeCode = Union[_IntTypeCode, _FloatTypeCode]\n\n_T = TypeVar(\"_T\", int, float)\n\nclass array(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(\n self: array[int],\n typecode: _IntTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self: array[float],\n typecode: _FloatTypeCode,\n __initializer: Union[bytes, Iterable[_T]] = ...,\n ) -> None: ...\n @overload\n def __init__(\n self, typecode: str, __initializer: Union[bytes, Iterable[_T]] = ...\n ) -> None: ...\n def append(self, __v: _T) -> None: ...\n def decode(self) -> str: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: int) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> array[_T]: ...\n @overload # type: ignore # Overrides MutableSequence\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: array[_T]) -> None: ...\n def __add__(self, x: array[_T]) -> array[_T]: ...\n def __iadd__(self, x: array[_T]) -> array[_T]: ... # type: ignore # Overrides MutableSequence\n\nArrayType = array\n", + "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", + "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", + "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Steruj zbieraniem sieci\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"W\u0142\u0105cz automatyczne zbieranie \u015bmieci.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Wy\u0142\u0105cz automatyczne zbieranie \u015bmieci.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Uruchom zbieranie \u015bmieci.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Znajd\u017a liczb\u0119 przydzielonych bajt\u00f3w sterty pami\u0119ci RAM.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Znajd\u017a liczb\u0119 bajt\u00f3w dost\u0119pnej sterty pami\u0119ci RAM lub -1, je\u015bli ta liczba nie jest znana.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Zapytanie o dodatkowy pr\u00f3g przydzia\u0142u GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Ustaw pr\u00f3g dodatkowego przydzia\u0142u GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Liczba bajt\u00f3w, po kt\u00f3rych powinno zosta\u0107 uruchomione zbieranie \u015bmieci.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Zaloguj dane do swojego micro:bita V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format znacznika czasu w milisekundach.\"\"\"\nSECONDS = 10\n\"\"\"Format znacznika czasu w sekundach.\"\"\"\nMINUTES = 600\n\"\"\"Format znacznika czasu w minutach.\"\"\"\nHOURS = 36000\n\"\"\"Format znacznika czasu w godzinach.\"\"\"\nDAYS = 864000\n\"\"\"Format znacznika czasu w dniach.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Ustaw nag\u0142\u00f3wek pliku dziennika.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Dowolna liczba argument\u00f3w pozycyjnych, ka\u017cdy odpowiadaj\u0105cy wpisowi w nag\u0142\u00f3wku dziennika.\n:param timestamp: Wybierz jednostk\u0119 znacznika czasu, kt\u00f3ra b\u0119dzie automatycznie dodana jako pierwsza kolumna w ka\u017cdym wierszu. Warto\u015bci znacznika czasu mog\u0105 by\u0107 jedn\u0105 z ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` lub ``None``, aby wy\u0142\u0105czy\u0107 znacznik czasu. Warto\u015bci\u0105 domy\u015bln\u0105 jest ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika poprzez podanie s\u0142ownika nag\u0142\u00f3wk\u00f3w i warto\u015bci.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: Dane do logowania jako s\u0142ownik z kluczem dla ka\u017cdego nag\u0142\u00f3wka.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika u\u017cywaj\u0105c argument\u00f3w s\u0142\u00f3w kluczowych. (dodaj)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Usuwa zawarto\u015b\u0107 wpisu, w tym nag\u0142\u00f3wki.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` wybiera usuni\u0119cie \"pe\u0142ne\" i ``False`` wybiera metod\u0119 \"szybkiego\" usuni\u0119cia.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Skonfiguruj lustrzane odbicie logowania danych do wyj\u015bcia szeregowego.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` umo\u017cliwia odbicie lustrzane danych na szeregowe wyj\u015bcie.\"\"\"\n ...", + "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Narz\u0119dzia niskiego poziomu.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Pobierz ci\u0105g bajt\u00f3w z unikatowym identyfikatorem p\u0142ytki.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Zresetuj urz\u0105dzenie w spos\u00f3b podobny do naci\u015bni\u0119cia zewn\u0119trznego przycisku RESET.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Uzyskaj cz\u0119stotliwo\u015b\u0107 procesora w hercach\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Wy\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Ponownie w\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Warto\u015b\u0107, kt\u00f3ra zosta\u0142a zwr\u00f3cona z ostatniego wywo\u0142ania funkcji ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Czas pulsowania na pinie.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Pin do u\u017cycia\n:param pulse_level: 0 do czasu niskiego pulsu lub 1 do czasu wysokiego pulsu\n:param timeout_us: Mikrosekundowy limit czasu\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Klasa dla widok\u00f3w pami\u0119ci ``mem8``, ``mem16`` i ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Uzyskaj dost\u0119p do warto\u015bci z pami\u0119ci.\n\n:param address: Adres pami\u0119ci.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Ustaw warto\u015b\u0107 dla podanego adresu.\n\n:param address: Adres pami\u0119ci.\n:param value: Warto\u015b\u0107 ca\u0142kowita do ustawiania.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bitowy widok pami\u0119ci.\"\"\"\nmem16: mem\n\"\"\"16-bitowy widok pami\u0119ci.\"\"\"\nmem32: mem\n\"\"\"32-bitowy widok pami\u0119ci.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funkcje matematyczne.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Obliczy\u0107 odwrotno\u015b\u0107 cosinusa.\n\nExample: ``math.acos(1)``\n\n:param x: Liczba\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Obliczy\u0107 odwrotno\u015b\u0107 sinusa.\n\nExample: ``math.asin(0)``\n\n:param x: Liczba\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Oblicz odwrotno\u015b\u0107 tangensa.\n\nExample: ``math.atan(0)``\n\n:param x: Liczba\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Oblicz warto\u015b\u0107 g\u0142\u00f3wn\u0105 odwrotno\u015bci tangensa ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Liczba\n:param x: Liczba\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku dodatniej niesko\u0144czono\u015bci.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Liczba\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Oblicz ``x`` ze znakiem ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Liczba\n:param y: \u0179r\u00f3d\u0142o znaku dla warto\u015bci zwracanej\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Oblicz cosinus ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Liczba\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Konwertuj radiany na stopnie.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Warto\u015b\u0107 w radianach\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Oblicz pot\u0119g\u0119 ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Liczba\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Zwr\u00f3\u0107 warto\u015b\u0107 bezwzgl\u0119dn\u0105 ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Liczba\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku ujemnej niesko\u0144czono\u015bci.\n\nExample: ``math.floor(0.9)``\n\n:param x: Liczba\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Oblicz reszt\u0119 z ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Licznik\n:param y: Mianownik\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Rozk\u0142ada liczb\u0119 zmiennopozycyjn\u0105 na mantys\u0119 i wyk\u0142adnik.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Liczba zmiennopozycyjna\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 jest sko\u0144czona.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Liczba.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 jest niesko\u0144czona.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Liczba.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 nie jest liczb\u0105 (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Liczba\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Oblicz ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Liczba\n:param exp: Wyk\u0142adnik ca\u0142kowity\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Oblicz logarytm z ``x`` przy podanej podstawie (domy\u015blnie loggorytm naturalny).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Liczba\n:param base: Podstawa do u\u017cycia\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Oblicz cz\u0119\u015b\u0107 u\u0142amkow\u0105 i ca\u0142kowit\u0105 z ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Liczba\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Zwraca ``x`` do pot\u0119gi ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Liczba\n:param y: Wyk\u0142adnik\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Konwertuj stopnie na radiany.\n\nExample: ``math.radians(360)``\n\n:param x: Warto\u015b\u0107 w stopniach\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Oblicz sinus ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Liczba\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Oblicz pierwiastek kwadratowy z ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Liczba\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Oblicz tangens z ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Liczba\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Liczba\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Podstawa logarytmu naturalnego\"\"\"\npi: float\n\"\"\"Stosunek obwodu okr\u0119gu do jego \u015brednicy\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Wewn\u0105trz MicroPythona. (microPython)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"S\u0142u\u017cy do zadeklarowania, \u017ce wyra\u017cenie jest sta\u0142\u0105 tak, \u017ce kompilator mo\u017ce\nje zoptymalizowa\u0107.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Wyra\u017cenie sta\u0142e.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Uzyskaj obecny poziom optymalizacji dla kompilacji skrypt\u00f3w.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Ustawia poziom optymalizacji dla p\u00f3\u017aniejszej kompilacji skrypt\u00f3w.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Poziom optymalizacji ca\u0142kowity.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Drukuj informacje o aktualnie u\u017cywanej pami\u0119ci.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Je\u015bli dany jest argument ``verbose``, drukowane s\u0105 dodatkowe informacje.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Drukuj informacje o aktualnie internowanych \u0142a\u0144cuchach.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Je\u015bli dany jest argument ``verbose``, drukowane s\u0105 dodatkowe informacje.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Zwr\u00f3\u0107 liczb\u0119 ca\u0142kowit\u0105 reprezentuj\u0105c\u0105 aktualn\u0105 wielko\u015b\u0107 u\u017cywanego stosu\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Zablokuj stos.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Odblokuj stos.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Ustaw znak, kt\u00f3ry zg\u0142osi wyj\u0105tek ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Kod znaku, aby zwi\u0119kszy\u0107 przerw\u0119 lub -1, aby wy\u0142\u0105czy\u0107 przechwytywanie Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Tw\u00f3rz i graj w melodie.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodia: otwarcie 5. symfonii Beethovena w C minor\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodia: fragment otwieraj\u0105cy klasyczny Scott Joplin Ragtime \"The Entertainer\".\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodia: otwarcie pierwszego Preludium w C Major, 48 preludi\u00f3w i Fug J.S.Bacha.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodia: motyw Ody do rado\u015bci z 9. Symfonii Beethovena w D minor.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodia: motyw Nyan Kot (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodia: co\u015b, co brzmi jak dzwonek telefonu kom\u00f3rkowego.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melody: funkowa linia basu dla tajnych agent\u00f3w i geniuszy kryminalnych.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodia: 12-taktowy bluesowy chodz\u0105cy bas w stylu boogie-woogie.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodia: \"Wszystkiego najlepszego\u2026\"\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodia: ch\u00f3r panny m\u0142odej z opery Wagnera \u201eLohengrin\u201d. (\u015blub)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodia: \u00bbMarsz pogrzebowy\u00ab znany jako Sonata Fortepianowa No. 2 w B\u266d minor, Op. 35 Fryderyka Chopina. (pogrzeb)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodia: zabawny fragment oznaczaj\u0105cy, \u017ce za\u017cartowano.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodia: Marsz John Philip Sousa \u201eLiberty Bell\u201d aka, motyw \u201eMonty Python Flating Circus\u201d (po kt\u00f3rym nazwano j\u0119zyk programowania Pythona).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodia: wej\u015bcie z\u0142ego cz\u0142owieka do ery kina niemego.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodia: scena po\u015bcigu z epoki kina niemego.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodia: kr\u00f3tki sygna\u0142 informuj\u0105cy, \u017ce co\u015b si\u0119 wydarzy\u0142o.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melodia: bardzo smutny puzon.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodia: do u\u017cytku w grze, wskazuj\u0105cy ruch w g\u00f3r\u0119.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodia: do u\u017cytku w grze, wskazuj\u0105cy ruch w g\u00f3r\u0119.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodia: fanfara oznaczaj\u0105ca odblokowanie osi\u0105gni\u0119cia.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodia: smutna fanfara oznaczaj\u0105ca utracenie osi\u0105gni\u0119cia.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Ustawia przybli\u017cone tempo dla odtwarzania.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Liczba takt\u00f3w sk\u0142adaj\u0105cych si\u0119 na uderzenie.\n:param bpm: Liczba ca\u0142kowita okre\u015blaj\u0105ca liczb\u0119 uderze\u0144 na minut\u0119.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Pobiera bie\u017c\u0105ce tempo jako par\u0119 liczb ca\u0142kowitych: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Odtwarzaj muzyk\u0119.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: muzyka okre\u015blona w `specjalnej notacji `_\n:param pin: pin wyj\u015bciowy do u\u017cycia z zewn\u0119trznym g\u0142o\u015bnikiem (domy\u015blnie ``pin0``), ``None`` dla braku d\u017awi\u0119ku.\n:param wait: Je\u015bli ``wait`` jest ustawiony na ``True``, ta funkcja jest blokowana.\n:param loop: Je\u015bli ``loop`` jest ustawiony na ``True``, melodia powtarza si\u0119, a\u017c ``stop`` jest wywo\u0142ana lub po\u0142\u0105czenie blokuj\u0105ce zostanie przerwane.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Zagraj nut\u0119.\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: Cz\u0119stotliwo\u015b\u0107 ca\u0142kowitoliczbowa\n:param duration: Czas trwania w milisekundach. Je\u015bli ujemny, to d\u017awi\u0119k jest ci\u0105g\u0142y a\u017c do nast\u0119pnego po\u0142\u0105czenia lub po\u0142\u0105czenia z ``stop``.\n:param pin: Opcjonalny pin wyj\u015bciowy (domy\u015blny ``pin0``).\n:param wait: Je\u015bli ``wait`` jest ustawiony na ``True``, ta funkcja jest blokowana.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Zatrzymuje odtwarzanie muzyki na wbudowanym g\u0142o\u015bniku i jakimkolwiek pinie wyj\u015bciowym d\u017awi\u0119ku.\n\nExample: ``music.stop()``\n\n:param pin: Opcjonalny argument mo\u017ce by\u0107 podany do okre\u015blenia pinu, np. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Resetuje takty, bpm, czas trwania i oktaw\u0119 do ich warto\u015bci domy\u015blnych.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Indywidualnie adresowalne paski LED RGB i RGBW.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Zainicjuj nowy pasek neopikselowych diod LED sterowanych za pomoc\u0105 pinu.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Pin kontroluj\u0105cy pasek neopikseli.\n:param n: Liczba neopikseli w pasku.\n:param bpp: Bajty na piksel. W przypadku obs\u0142ugi neopikseli RGBW nale\u017cy przekaza\u0107 4 zamiast domy\u015blnych 3 dla RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Wyczy\u015b\u0107 wszystkie piksele.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Poka\u017c piksele.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Poka\u017c piksele (tylko micro:bit V2).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Pokoloruj wszystkie piksele okre\u015blon\u0105 warto\u015bci\u0105 RGB/RGBW (tylko micro:bit V2).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Krotka o takiej samej d\u0142ugo\u015bci jak liczba bajt\u00f3w na piksel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Ustaw kolor pikseli.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Liczba pikseli.\n:param value: Kolor\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Uzyskaj kolor piksela.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Liczba pikseli.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Uzyskaj d\u0142ugo\u015b\u0107 tego paska pikseli.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Uzyskaj dost\u0119p do systemu plik\u00f3w.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lista plik\u00f3w.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Usu\u0144 (usu\u0144) plik.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: Plik do usuni\u0119cia.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Zwraca rozmiar pliku.\n\nExample: ``os.size('data.txt')``\n\n:param filename: Plik\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Wynik ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nazwa systemu operacyjnego.\"\"\"\n nodename: str\n \"\"\"Nazwa maszyny w sieci (zdefiniowana w implementacji).\"\"\"\n release: str\n \"\"\"Wydanie systemu operacyjnego.\"\"\"\n version: str\n \"\"\"Wersja systemu operacyjnego\"\"\"\n machine: str\n \"\"\"Identyfikator sprz\u0119tu.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Zwraca informacje identyfikuj\u0105ce bie\u017c\u0105cy system operacyjny.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Komunikuj si\u0119 pomi\u0119dzy micro:bitami za pomoc\u0105 wbudowanego radia.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Sta\u0142a u\u017cywana do wskazania przepustowo\u015bci 1 MBit na sekund\u0119.\"\"\"\nRATE_2MBIT: int\n\"\"\"Sta\u0142a u\u017cywana do wskazania przepustowo\u015bci 2 MBit na sekund\u0119.\"\"\"\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cza radio\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cza radio, oszcz\u0119dzaj\u0105c energi\u0119 i pami\u0119\u0107.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguruje radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) definiuje maksymaln\u0105 d\u0142ugo\u015b\u0107 w bajtach wiadomo\u015bci wysy\u0142anej przez radio.\nMo\u017ce mie\u0107 d\u0142ugo\u015b\u0107 do 251 bajt\u00f3w (254 - 3 bajty dla S0, LENGTH i S1).\n:param queue: (default=3) okre\u015bla liczb\u0119 wiadomo\u015bci, kt\u00f3re mog\u0105 by\u0107 przechowywane w kolejce przychodz\u0105cych wiadomo\u015bci.\nJe\u015bli w kolejce na wiadomo\u015bci przychodz\u0105ce nie ma ju\u017c wolnych miejsc, wiadomo\u015b\u0107 przychodz\u0105ca jest odrzucana.\n:param channel: (default=7) warto\u015b\u0107 ca\u0142kowita od 0 do 83 (w\u0142\u0105cznie), kt\u00f3ra definiuje dowolny \u201ekana\u0142\u201d, do kt\u00f3rego dostrojone jest radio.\nWiadomo\u015bci b\u0119d\u0105 wysy\u0142ane za po\u015brednictwem tego kana\u0142u i tylko wiadomo\u015bci otrzymane za po\u015brednictwem tego kana\u0142u zostan\u0105 umieszczone w kolejce wiadomo\u015bci przychodz\u0105cych. Ka\u017cdy stopie\u0144 ma szeroko\u015b\u0107 1 MHz w oparciu o cz\u0119stotliwo\u015b\u0107 2400 MHz.\n:param power: (default=6) jest liczb ca\u0142kowit\u0105 od 0 do 7 (w\u0142\u0105cznie) do oznaczenia si\u0142y sygna\u0142u u\u017cywanego podczas nadawania wiadomo\u015bci.\nIm wy\u017csza warto\u015b\u0107, tym silniejszy jest sygna\u0142, ale tym wi\u0119ksza moc jest zu\u017cywana przez urz\u0105dzenie. Numeracja przek\u0142ada si\u0119 na pozycje w nast\u0119puj\u0105cym wykazie warto\u015bci dBm (decybel miliwat): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (default=0x75626974) dowolna nazwa wyra\u017cona jako 32-bitowy adres, u\u017cywana do filtrowania przychodz\u0105cych pakiet\u00f3w na poziomie sprz\u0119towym, zatrzymuj\u0105c tylko te, kt\u00f3re odpowiadaj\u0105 ustawionemu adresowi.\nDomy\u015blnym ustawieniem u\u017cywanym przez inne platformy powi\u0105zane z micro:bitem jest ustawienie domy\u015blne u\u017cywane tutaj.\n:param group: (default=0) 8-bitowa warto\u015b\u0107 (0-255) u\u017cywana wraz z ``address`` podczas filtrowania wiadomo\u015bci.\nKoncepcyjnie, \"adres\" jest jak adres domu/biura, a \"grupa\" jest jak osoba pod tym adresem, na kt\u00f3ry chcesz wys\u0142a\u0107 swoj\u0105 wiadomo\u015b\u0107.\n:param data_rate: (default=``radio.RATE_1MBIT``) wskazuje pr\u0119dko\u015b\u0107, z jak\u0105 odbywa si\u0119 przesy\u0142anie danych.\nMo\u017ce by\u0107 jedn\u0105 z nast\u0119puj\u0105cych sta\u0142ych zdefiniowanych w module ``radio``:``RATE_250KBIT``, ``RATE_1MBIT`` lub ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Resetuj ustawienia do ich warto\u015bci domy\u015blnych.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Wysy\u0142a wiadomo\u015b\u0107 zawieraj\u0105c\u0105 bajty.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Bajty do wys\u0142ania.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Otrzymuj nast\u0119pn\u0105 przychodz\u0105c\u0105 wiadomo\u015b\u0107 w kolejce wiadomo\u015bci.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Skopiuj nast\u0119pn\u0105 wiadomo\u015b\u0107 przychodz\u0105c\u0105 do kolejki wiadomo\u015bci w buforze.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: Bufor docelowy. Wiadomo\u015b\u0107 jest obcinana, je\u015bli jest wi\u0119ksza ni\u017c bufor.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Wysy\u0142a \u0142a\u0144cuch wiadomo\u015bci.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u0141a\u0144cuch do wys\u0142ania.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Dzia\u0142a dok\u0142adnie w taki sam spos\u00f3b, jak ``receive_bytes``, ale zwraca cokolwiek zosta\u0142o wys\u0142ane. (odbierz)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Zwraca krotk\u0119 zawieraj\u0105c\u0105 trzy warto\u015bci reprezentuj\u0105ce nast\u0119pn\u0105 wiadomo\u015b\u0107 przychodz\u0105c\u0105 do kolejki wiadomo\u015bci.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Generuj liczb losowe. (losowy)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Wygeneruj liczb\u0119 ca\u0142kowit\u0105 z ``n`` losowymi bitami.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Warto\u015b\u0107 mi\u0119dzy 1\u201330 (w\u0142\u0105cznie).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Zainicjuj generator liczb losowych.\n\nExample: ``random.seed(0)``\n\n:param n: Ca\u0142kowity zarodek\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Wybierz losow\u0105 liczb\u0119 ca\u0142kowit\u0105 pomi\u0119dzy ``a`` i ``b`` w\u0142\u0105cznie.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Warto\u015b\u0107 pocz\u0105tkowa dla zakresu (w\u0142\u0105cznie)\n:param b: Warto\u015b\u0107 ko\u0144cowa dla zakresu (wy\u0142\u0105cznie)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Wybierz losowo wybran\u0105 liczb\u0119 ca\u0142kowit\u0105 mi\u0119dzy zero a\u017c do (ale nie\nw\u0142\u0105cznie) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: Warto\u015b\u0107 ko\u0144cowa zakresu (wy\u0142\u0105cznie)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Wybierz losowo wybrany element z ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Pocz\u0105tek zakresu (w\u0142\u0105cznie)\n:param stop: Koniec zakresu (wy\u0142\u0105cznie)\n:param step: Krok\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Wybierz losowy element z niepustego cigu ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Cig.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Wygeneruj losow\u0105 liczb\u0119 zmiennopozycyjn\u0105 w zakresie [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Zwr\u00f3\u0107 losow\u0105 liczb\u0119 zmiennopozycyjn\u0142\u0105 mi\u0119dzy ``a`` i ``b``.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Warto\u015b\u0107 pocz\u0105tkowa dla zakresu (w\u0142\u0105cznie)\n:param b: Warto\u015b\u0107 ko\u0144cowa dla zakresu (wy\u0142\u0105cznie)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Spraw, by micro:bit m\u00f3wi\u0142, \u015bpiewa\u0142 i tworzy\u0142 inne d\u017awi\u0119ki podobne do mowy.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"T\u0142umacz angielskie s\u0142owa na fonemy.\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u0141a\u0144cuch s\u0142\u00f3w angielskich.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Wym\u00f3w fonemy.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u0141a\u0144cuch fonem\u00f3w do wym\u00f3wienia\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Powiedz angielskie s\u0142owa.\n\nExample: ``speech.say('hello world')``\n\n:param words: \u0141a\u0144cuch s\u0142\u00f3w do powiedzenia.\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Za\u015bpiewaj fonemy.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u0141a\u0144cuch s\u0142\u00f3w do za\u015bpiewania.\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Pakuj i rozpakowuj prymitywne typy danych.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Uzyskaj liczb\u0119 bajt\u00f3w potrzebnych do przechowywania podanego ``fmt``.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Upakuj warto\u015bci zgodnie z \u0142\u0144cuchem formatu.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param v1: Pierwsza warto\u015b\u0107.\n:param *vn: Pozosta\u0142e warto\u015bci.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Upakuj warto\u015bci zgodnie z \u0142\u0144cuchem formatu.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param buffer: Bufor docelowy do zapisu.\n:param offset: Przesuni\u0119cie do bufora. Warto\u015b\u0107 ujemna mo\u017ce by\u0107 liczona od ko\u0144ca bufora.\n:param v1: (w1) Pierwsza warto\u015b\u0107.\n:param *vn: Pozosta\u0142e warto\u015bci.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Rozpakuj dane zgodnie z \u0142a\u0144cuchem formatu.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param data: Dane\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Rozpakuj dane z buforu zgodnie z \u0142a\u0144cuchem formatu.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param buffer: Bufor \u017ar\u00f3d\u0142owy do odczytu.\n:param offset: Przesuni\u0119cie do bufora. Warto\u015b\u0107 ujemna mo\u017ce by\u0107 liczona od ko\u0144ca bufora.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funkcje specyficzne dla systemu\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Zako\u0144cz bie\u017c\u0105cy program z podanym kodem wyj\u015bcia.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Kod lub wiadomo\u015b\u0107 wyj\u015bciowa.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Wydrukuj wyj\u0105tek ze \u015bledzeniem.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Wyj\u0105tek do wydrukowania\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Zmienna lista argument\u00f3w, od kt\u00f3rych uruchomiono bie\u017c\u0105cy program.\"\"\"\nbyteorder: str\n\"\"\"Kolejno\u015b\u0107 bajt\u00f3w systemu (``\"little\"`` lub ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Obiekt z informacjami o bie\u017c\u0105cej implementacji Pythona.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaksymalna warto\u015b\u0107, jak\u0105 mo\u017ce przechowywa\u0107 natywny typ ca\u0142kowity na bie\u017c\u0105cej platformie,\nlub maksymalna warto\u015b\u0107 reprezentowana przez typ ca\u0142kowity MicroPythona, je\u015bli jest mniejsza\nni\u017c maksymalna warto\u015b\u0107 platformy (tak jest w przypadku port\u00f3w MicroPython bez\nwsparcia long int).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"S\u0142ownik za\u0142adowanych modu\u0142\u00f3w. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Zmienna lista katalog\u00f3w do wyszukiwania importowanych modu\u0142\u00f3w.\"\"\"\nplatform: str\n\"\"\"Platforma na kt\u00f3rej dzia\u0142a MicroPython. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Wersja Pythona, z kt\u00f3r\u0105 ta implementacja jest zgodna, jako \u0142a\u0144cuch.\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Wersja Pythona, z kt\u00f3r\u0105 ta implementacja jest zgodna, jako krotka typu int.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Zmierz czas i dodaj op\u00f3\u017anienia do program\u00f3w.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Op\u00f3\u017anij kilka sekund.\n\nExample: ``time.sleep(1)``\n\n:param seconds: Liczba sekund snu.\nU\u017cyj liczby zmiennopozycyjnej, aby spa\u0107 przez u\u0142amkow\u0105 cz\u0119\u015b\u0107 sekund.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Op\u00f3\u017anij o podan\u0105 liczb\u0119 milisekund.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Liczba milisekund op\u00f3\u017anienia (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Op\u00f3\u017anij o podan\u0105 liczb\u0119 milisekund.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Liczba milisekund op\u00f3\u017anienia (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Uzyskaj rosn\u0105cy licznik milisekundowy z dowolnym punktem odniesienia,\nkt\u00f3ry zawija si\u0119 po pewnej warto\u015bci.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Uzyskaj rosn\u0105cy licznik milisekundowy z dowolnym punktem odniesienia,\nkt\u00f3ry zawija si\u0119 po pewnej warto\u015bci.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Przesuni\u0119cie zaznacza warto\u015b\u0107 o podan\u0105 liczb\u0119, kt\u00f3ra mo\u017ce by\u0107 dodatnia lub\nnegatywny.\n.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Warto\u015b\u0107 tick\u00f3w\n:param delta: Przesuni\u0119cie o liczb\u0119 ca\u0142kowit\u0105\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Zmierz r\u00f3\u017cnic\u0119 tick\u00f3w mi\u0119dzy warto\u015bciami zwr\u00f3conymi z\n``time.ticks_ms()`` lub ``ticks_us()``, jako warto\u015b\u0107 ze znakiem, \nkt\u00f3ra mo\u017ce si\u0119 zawija\u0107.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Warto\u015b\u0107 do odejmowania od\n:param ticks2: Warto\u015b\u0107 do odejmowania\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", + "/typeshed/stdlib/uarray.pyi": "from array import *\n", + "/typeshed/stdlib/ucollections.pyi": "from collections import *\n", + "/typeshed/stdlib/uerrno.pyi": "from errno import *\n", + "/typeshed/stdlib/urandom.pyi": "from random import *\n", + "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", + "/typeshed/stdlib/usys.pyi": "from sys import *\n", + "/typeshed/stdlib/utime.pyi": "from time import *\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Piny, obrazy, d\u017awi\u0119ki, temperatura i g\u0142o\u015bno\u015b\u0107.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Zaplanuj uruchomienie funkcji w przedziale okre\u015blonym przez argumenty czasu **tylko V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funkcja wywo\u0142ywana w podanym przedziale. Pomi\u0144, je\u015bli u\u017cywasz jako dekorator.\n:param days: Ustawia oznaczenie dnia dla harmonogramu.\n:param h: Ustawia znak godziny dla harmonogramu.\n:param min: Ustawia znak minuty dla harmonogramu.\n:param s: Ustawia znak sekundy dla harmonogramu.\n:param ms: Ustawia znak milisekundy dla harmonogramu.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Wejd\u017a w tryb paniki.\n\nExample: ``panic(127)``\n\n:param n: Dowolna liczba ca\u0142kowita <= 255 dla wskazania statusu.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Uruchom ponownie p\u0142ytk\u0119.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu liczb ca\u0142kowitych.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu dla konwersji do.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu o zmiennopozycyjnego.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu, na jaki konwertowa\u0107.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Poczekaj ``n`` milisekund.\n\nExample: ``sleep(1000)``\n\n:param n: Liczba milisekund oczekiwania\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Uzyskaj czas pracy p\u0142ytki.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Uzyskaj temperatur\u0119 micro:bita w stopniach Celsjusza.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Ustawia g\u0142o\u015bno\u015b\u0107.\n\nExample: ``set_volume(127)``\n\n:param v: warto\u015b\u0107 mi\u0119dzy 0 (niska) a 255 (wysoka).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Klasa dla przycisk\u00f3w ``button_a`` i ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk jest naci\u015bni\u0119ty.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk zosta\u0142 naci\u015bni\u0119ty od momentu uruchomienia urz\u0105dzenia lub kiedy ta metoda zosta\u0142a wywo\u0142ana.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Pobierz sum\u0119 naci\u015bni\u0119\u0107 przycisk\u00f3w i zresetuje t\u0119 sum\u0119\ndo zera przed powrotem.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Lewy przycisk ``Button`` obiekt.\"\"\"\nbutton_b: Button\n\"\"\"Prawy przycisk ``Button`` obiekt.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Cyfrowy pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Uzyskaj cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Ustaw cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1, aby ustawi\u0107 wysok\u0105 warto\u015b\u0107 pinu lub 0, aby ustawi\u0107 nisk\u0105 warto\u015b\u0107 pinu\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Ustaw stan ci\u0105gni\u0119cia na jedn\u0105 z trzech mo\u017cliwych warto\u015bci: ``PULL_UP``, ``PULL_DOWN`` lub ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: Stan ci\u0105gni\u0119cia z odpowiedniego pinu, np. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Uzyskaj stan cigni\u0119cia na pinie.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Zwraca tryb pinu.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Wysy\u0142aj sygna\u0142 PWM na pin, z cyklem pracy proporcjonalnym do ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Liczba ca\u0142kowita lub liczba zmiennopozycyjna mi\u0119dzy 0 (0% cyklu pracy) a 1023 (100% cyklu pracy).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w milisekundach.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: Okres w milisekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w mikrosekundach. (ustaw mikrosekundy okresu analogowego)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: Okres w mikrosekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Pin z funkcjami analogowymi i cyfrowymi.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Odczytaj napi\u0119cie przy\u0142o\u017cone do pinu.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Pin z funkcjami analogowymi, cyfrowymi i dotykowymi.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Sprawd\u017a, czy pin zosta\u0142 dotkni\u0119ty.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Ustaw tryb dotykowy dla pinu.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` lub ``RESISTIVE`` z odpowiedniego pinu.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Wra\u017cliwy na dotyk pin z logo z przodu micro:bita, kt\u00f3ry domy\u015blnie jest ustawiony na pojemno\u015bciowy tryb dotykowy.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Pin adresuj\u0105cy g\u0142o\u015bnik micro:bita.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Obraz wy\u015bwietlany na wy\u015bwietlaczu LED micro:bita.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Obraz serca.\"\"\"\n HEART_SMALL: Image\n \"\"\"Obraz ma\u0142ego serca.\"\"\"\n HAPPY: Image\n \"\"\"Obraz szcz\u0119\u015bliwej twarzy.\"\"\"\n SMILE: Image\n \"\"\"Obraz u\u015bmiechni\u0119tej twarzy.\"\"\"\n SAD: Image\n \"\"\"Obraz smutnej twarzy.\"\"\"\n CONFUSED: Image\n \"\"\"Obraz zmieszanej twarzy.\"\"\"\n ANGRY: Image\n \"\"\"Obraz z\u0142ej twarzy.\"\"\"\n ASLEEP: Image\n \"\"\"Obraz \u015bpi\u0105cej twarzy.\"\"\"\n SURPRISED: Image\n \"\"\"Obraz zaskoczonej twarzy.\"\"\"\n SILLY: Image\n \"\"\"Obraz g\u0142upiej twarzy.\"\"\"\n FABULOUS: Image\n \"\"\"Obraz twarzy w okularach przeciws\u0142onecznych.\"\"\"\n MEH: Image\n \"\"\"Obraz niewzruszonej twarzy.\"\"\"\n YES: Image\n \"\"\"Haczyk na TAK.\"\"\"\n NO: Image\n \"\"\"Krzy\u017cyk na NIE.\"\"\"\n CLOCK12: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 12.\"\"\"\n CLOCK11: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 11.\"\"\"\n CLOCK10: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 10.\"\"\"\n CLOCK9: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 9.\"\"\"\n CLOCK8: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 8.\"\"\"\n CLOCK7: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 7.\"\"\"\n CLOCK6: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 6.\"\"\"\n CLOCK5: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 5.\"\"\"\n CLOCK4: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 4.\"\"\"\n CLOCK3: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 3.\"\"\"\n CLOCK2: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 2.\"\"\"\n CLOCK1: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 1.\"\"\"\n ARROW_N: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142noc.\"\"\"\n ARROW_NE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny wsch\u00f3d.\"\"\"\n ARROW_E: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej wsch\u00f3d.\"\"\"\n ARROW_SE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy wsch\u00f3d.\"\"\"\n ARROW_S: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udnie.\"\"\"\n ARROW_SW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy zach\u00f3d.\"\"\"\n ARROW_W: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej zach\u00f3d.\"\"\"\n ARROW_NW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny zach\u00f3d.\"\"\"\n TRIANGLE: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta skierowanego do g\u00f3ry.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta w lewym rogu.\"\"\"\n CHESSBOARD: Image\n \"\"\"Diody LED \u015bwiec\u0105 naprzemiennie w uk\u0142adzie szachownicy.\"\"\"\n DIAMOND: Image\n \"\"\"Obraz diamentu.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Obraz ma\u0142ego diamentu.\"\"\"\n SQUARE: Image\n \"\"\"Obraz kwadratu.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Obraz ma\u0142ego kwadratu.\"\"\"\n RABBIT: Image\n \"\"\"Obraz kr\u00f3lika.\"\"\"\n COW: Image\n \"\"\"Obraz krowy.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Obraz \u0107wier\u0107nuty.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Obraz nuty \u00f3semki.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Obraz pary nut \u00f3semek.\"\"\"\n PITCHFORK: Image\n \"\"\"Obraz kamertonu.\"\"\"\n XMAS: Image\n \"\"\"Obraz choinki.\"\"\"\n PACMAN: Image\n \"\"\"Obrazek postaci arcade Pac-Man\"\"\"\n TARGET: Image\n \"\"\"Obraz celu.\"\"\"\n TSHIRT: Image\n \"\"\"Obraz t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Obraz Rollerskate.\"\"\"\n DUCK: Image\n \"\"\"Obraz kaczki.\"\"\"\n HOUSE: Image\n \"\"\"Obraz domu.\"\"\"\n TORTOISE: Image\n \"\"\"Obraz \u017c\u00f3\u0142wia.\"\"\"\n BUTTERFLY: Image\n \"\"\"Obraz motyla.\"\"\"\n STICKFIGURE: Image\n \"\"\"Obraz przyklejonej figury.\"\"\"\n GHOST: Image\n \"\"\"Obraz ducha.\"\"\"\n SWORD: Image\n \"\"\"Obraz miecza.\"\"\"\n GIRAFFE: Image\n \"\"\"Obraz \u017cyrafy.\"\"\"\n SKULL: Image\n \"\"\"Obraz czaszki.\"\"\"\n UMBRELLA: Image\n \"\"\"Obraz parasola.\"\"\"\n SNAKE: Image\n \"\"\"Obraz w\u0119\u017ca.\"\"\"\n SCISSORS: Image\n \"\"\"Obraz no\u017cyczek.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy CLOCK_ po kolei.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy ARROW_ po kolei.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Utw\u00f3rz obraz z \u0142a\u0144cucha opisuj\u0105cego, kt\u00f3re diody LED s\u0105 zapalone.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u0141a\u0144cuch opisuj\u0105cy obraz.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Utw\u00f3rz pusty obraz z ``width`` kolumnami i ``height`` wierszami.\n\n:param width: Opcjonalna szeroko\u015b\u0107 obrazu\n:param height: Opcjonalna wysoko\u015b\u0107 obrazu\n:param buffer: Opcjonalna tablica lub bajty ``width``\u00d7``height`` liczb ca\u0142kowitych w zakresie 0-9 do zainicjowania obrazu\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ustal liczb\u0119 kolumn\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Uzyskaj liczb\u0119 wierszy\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 piksela.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:param value: Jasno\u015b\u0107 jako liczba ca\u0142kowita mi\u0119dzy 0 (ciemny) i 9 (jasna)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"uzyskaj jasno\u015b\u0107 piksela.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przesuwaj\u0105c ten obraz w lewo.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c ten obraz w prawo.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do g\u00f3ry.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do do\u0142u.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez przyci\u0119cie zdj\u0119cia.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Kolumna przesuni\u0119cia przyci\u0119cia\n:param y: Wiersz przesuni\u0119cia przyci\u0119cia\n:param w: Szeroko\u015b\u0107 przyci\u0119cia\n:param h: Wysoko\u015b\u0107 przyci\u0119cia\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Utw\u00f3rz dok\u0142adn\u0105 kopi\u0119 obrazu.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez odwr\u00f3cenie jasno\u015bci pikseli w obrazie \u017ar\u00f3d\u0142owym.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 wszystkich pikseli obrazka.\n\nExample: ``my_image.fill(5)``\n\n:param value: Nowa jasno\u015b\u0107 jako liczba mi\u0119dzy 0 (ciemny) a 9 (jasny).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Skopiuj obszar z innego obrazu na ten obraz.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Zdj\u0119cie \u017ar\u00f3d\u0142owe\n:param x: Pocz\u0105tkowe przesuni\u0119cie kolumny w obrazie \u017ar\u00f3d\u0142owym\n:param y: Pocz\u0105tkowe przesuni\u0119cie wiersza na obrazie \u017ar\u00f3d\u0142owym\n:param w: Liczba kolumn do skopiowania\n:param h: Liczba wierszy do skopiowania\n:param xdest: Przesuni\u0119cie kolumny do modyfikacji na tym obrazie\n:param ydest: Przesuni\u0119cie wiersza do modyfikacji na tym obrazie\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Uzyskaj kompaktow\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Uzyskaj czyteln\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dodaj\u0105c warto\u015bci jasno\u015bci z dw\u00f3ch\nobraz\u00f3w dla ka\u017cdego piksela.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Obraz do dodania.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, odejmuj\u0105c warto\u015bci jasno\u015bci\ninnego obrazu od tego obrazu.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Obraz do odj\u0119cia.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, mno\u017c\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Warto\u015b\u0107 do mno\u017cenia przez.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dziel\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: Warto\u015b\u0107 do dzielenia przez.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``quiet`` do ``loud``, jak klaskanie lub krzyczenie.\"\"\"\n QUIET: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``loud`` do ``quiet``, jak m\u00f3wienie lub muzyka w tle.\"\"\"\n\nclass Sound:\n \"\"\"Wbudowane d\u017awi\u0119ki mo\u017cna wywo\u0142a\u0107 za pomoc\u0105 ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Chichocz\u0105cy d\u017awi\u0119k.\"\"\"\n HAPPY: Sound\n \"\"\"Szcz\u0119\u015bliwy d\u017awi\u0119k.\"\"\"\n HELLO: Sound\n \"\"\"D\u017awi\u0119k powitania.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Tajemniczy d\u017awi\u0119k.\"\"\"\n SAD: Sound\n \"\"\"Smutny d\u017awi\u0119k.\"\"\"\n SLIDE: Sound\n \"\"\"Przesuwaj\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SOARING: Sound\n \"\"\"Wznosz\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SPRING: Sound\n \"\"\"Wiosny d\u017awi\u0119k.\"\"\"\n TWINKLE: Sound\n \"\"\"Migocz\u0105cy d\u017awi\u0119k.\"\"\"\n YAWN: Sound\n \"\"\"D\u017awi\u0119k ziewania.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Zmierz przyspieszenie micro:bita i rozpoznawaj gesty.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``x`` w mili-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``y`` w mili-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``z`` w mili-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Uzyskaj pomiary przyspieszenia na wszystkich osiach jednocze\u015bnie, jako krotk\u0119.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia wszystkich osi \u0142\u0105cznie jako dodatni\u0105 liczb\u0119 ca\u0142kowit\u0105. Jest to suma pitagorejska osi X, Y i Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Pobierz nazw\u0119 aktualnego gestu.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest jest aktualnie aktywny.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest by\u0142 aktywny od ostatniego po\u0142\u0105czenia.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Zwr\u00f3\u0107 krotk\u0119 historii gest\u00f3w.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Ustaw zakres czu\u0142o\u015bci akcelerometru w g (standardowa grawitacja) na najbli\u017csze warto\u015bci obs\u0142ugiwane przez sprz\u0119t tak, aby zaokr\u0105gla\u0142 si\u0119 do ``2``, ``4`` lub ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nowy zakres dla akcelerometru, liczba ca\u0142kowita w ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Odtwarzaj d\u017awi\u0119ki za pomoc\u0105 micro:bita (importuj ``audio`` dla kompatybilno\u015bci V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Odtw\u00f3rz wbudowany d\u017awi\u0119k, efekt d\u017awi\u0119kowy lub niestandardowe ramki audio.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Wbudowany ``Sound``, taki jak ``Sound.GIGGLE``, ``SoundEffect`` lub przyk\u0142adowe dane jako iteracja obiekt\u00f3w ``AudioFrame``.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c d\u017awi\u0119k zostanie zako\u0144czony.\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``. Je\u015bli nie chcemy, aby \u017caden d\u017awi\u0119k nie by\u0142 odtwarzany, mo\u017cemy u\u017cy\u0107 ``pin=None``.\n:param return_pin: Okre\u015bla pin \u0142\u0105cznika r\u00f3\u017cnicowego, aby pod\u0142\u0105czy\u0107 p\u0142ytk\u0119 do zewn\u0119trznego g\u0142o\u015bnika zamiast do ziemi. Jest to ignorowane dla **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k jest odtwarzany.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Zatrzymaj odtwarzania audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Efekt d\u017awi\u0119kowy, utworzony przez zestaw parametr\u00f3w skonfigurowanych za pomoc\u0105 konstruktora lub atrybut\u00f3w.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opcja sinusoidalnej fali u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opcja fali pi\u0142okszta\u0142tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opcja fali tr\u00f3jk\u0105tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opcja fali kwadratowj u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opcja szumu u\u017cywana dla parametru ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opcja interpolacji liniowej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opcja interpolacji krzywej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opcja interpolacji logarytmicznej u\u017cywana dla parametru ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opcja braku efektu u\u017cyta dla parametru ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opcja efektu Tremelo u\u017cyta dla parametru ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opcja efektu Vibrato u\u017cyta dla parametru ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opcja efektu Warble u\u017cyta dla parametru ``fx``.\"\"\"\n freq_start: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n freq_end: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n duration: int\n \"\"\"Czas trwania d\u017awi\u0119ku w milisekundach, liczba pomi\u0119dzy ``0`` i ``9999``\"\"\"\n vol_start: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci pocz\u0105tkowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n vol_end: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci ko\u0144cowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n waveform: int\n \"\"\"Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci:``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum)\"\"\"\n fx: int\n \"\"\"Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Utw\u00f3rz nowy efekt d\u017awi\u0119kowy.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param freq_end: Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param duration: Czas trwania d\u017awi\u0119ku w milisekundach, liczba mi\u0119dzy ``0`` i ``9999``.\n:param vol_start: Pocz\u0105tkowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param vol_end: Ko\u0144cowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param waveform: Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum).\n:param fx: Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``.\n:param shape: Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Utw\u00f3rz kopi\u0119 ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Obiekt ``AudioFrame`` jest list\u0105 32 pr\u00f3bek, z kt\u00f3rych ka\u017cda jest niepodpisanym bajtem (liczba ca\u0142kowita mi\u0119dzy 0 a 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Zast\u0105p dane w tym ``AudioFrame`` danymi z innej instancji ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instancja ``AudioFrame``, z kt\u00f3rej skopiowane s\u0105 dane.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"U\u017cyj wbudowanego kompasu.\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Rozpoczyna proces kalibracji.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Sprawd\u017a, czy kompas jest skalibrowany.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Cofnij kalibracj\u0119, czyni\u0105c kompas ponownie niekalibrowanym.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``x``.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``y``.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``z``.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Pobierz kierunek kompasu.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Uzyskaj wielko\u015b\u0107 pola magnetycznego wok\u00f3\u0142 urz\u0105dzenia.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Poka\u017c tekst, obrazy i animacje na wy\u015bwietlaczu 5x5 LED.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Uzyskaj jasno\u015b\u0107 LED w kolumnie ``x`` i w wierszu ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Wy\u015bwietlana kolumna (0..4)\n:param y: Wy\u015bwietlany wiersz (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 LED w kolumnie ``x`` i wierszu ``y``.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Wy\u015bwietlana kolumna (0..4)\n:param y: Wy\u015bwietlany wiersz (0..4)\n:param value: Jasno\u015b\u0107 mi\u0119dzy 0 (wy\u0142\u0105czona) i 9 (jasna)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Ustaw jasno\u015b\u0107 wszystkich diod LED na 0 (wy\u0142\u0105czone).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Pokazuje obrazy, litery lub cyfry na wy\u015bwietlaczu LED.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u0141a\u0144cuch, liczba, obraz lub lista obraz\u00f3w do pokazania.\n:param delay: Ka\u017cda litera, cyfra lub obraz s\u0105 wy\u015bwietlane z ``delay`` milisekundami mi\u0119dzy sob\u0105.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c zako\u0144czy si\u0119 animacja, w przeciwnym razie animacja pojawi si\u0119 w tle.\n:param loop: Je\u015bli ``loop`` jest ``True``, animacja b\u0119dzie powtarzana w niesko\u0144czono\u015b\u0107.\n:param clear: Je\u015bli ``clear`` jest ``True``, wy\u015bwietlacz zostanie wyczyszczony po zako\u0144czeniu sekwencji.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Przewija liczb\u0119 lub tekst na wy\u015bwietlaczu LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u0141a\u0144cuch do przewini\u0119cia. Je\u015bli ``text`` jest liczb\u0105 ca\u0142kowit\u0105 lub zmiennopozycyjn\u0105, najpierw zostanie przekonwertowany na \u0142a\u0144cuch za pomoc\u0105 ``str()``.\n:param delay: Parametr ``delay`` kontroluje szybko\u015b\u0107 przewijania tekstu.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c zako\u0144czy si\u0119 animacja, w przeciwnym razie animacja pojawi si\u0119 w tle.\n:param loop: Je\u015bli ``loop`` jest ``True``, animacja b\u0119dzie powtarzana w niesko\u0144czono\u015b\u0107.\n:param monospace: Je\u015bli ``monospace`` jest ``True``, wszystkie znaki zajm\u0105 co najwy\u017cej 5 kolumn pikseli na szeroko\u015b\u0107, w przeciwnym razie b\u0119dzie dok\u0142adnie 1 pusta kolumna pikseli pomi\u0119dzy ka\u017cdym znakiem, gdy si\u0119 przewijaj\u0105.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cz wy\u015bwietlacz LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cz wy\u015bwietlacz LED (wy\u0142\u0105czenie wy\u015bwietlania pozwala na ponowne u\u017cycie pin\u00f3w GPIO do innych cel\u00f3w).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Sprawd\u017a, czy wy\u015bwietlacz LED jest w\u0142\u0105czony.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Odczytuj poziom \u015bwiat\u0142a.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 protoko\u0142u magistrali I2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Ponownie zainicjuj peryferia.\n\nExample: ``i2c.init()``\n\n:param freq: clock frequency\n:param sda: ``sda`` pin (domy\u015blnie 20)\n:param scl: ``scl`` pin (domy\u015blnie 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Przeskanuj magistral\u0119 w poszukiwaniu urz\u0105dze\u0144.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Odczytaj bajty z urz\u0105dzenia..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param n: Liczba bajt\u00f3w do odczytu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Zapisz bajty na urz\u0105dzenie.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param buf: Bufor zawieraj\u0105cy bajty do zapisu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Odpowiedz na d\u017awi\u0119k przy u\u017cyciu wbudowanego mikrofonu (tylko V2).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Pobierz ostatnie nagrane zdarzenie d\u017awi\u0119kowe\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k by\u0142 s\u0142yszany co najmniej raz od ostatniego po\u0142\u0105czenia.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a najnowsze wykryte zdarzenie d\u017awi\u0119kowe.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Pobierz histori\u0119 zdarze\u0144 d\u017awi\u0119kowych jako krotk\u0119.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Ustaw pr\u00f3g dla zdarzenia d\u017awi\u0119kowego.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Zdarzenie d\u017awi\u0119kowe, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``.\n:param value: Poziom progu w zakresie 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Uzyskaj poziom ci\u015bnienia akustycznego.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Sprawd\u017a wbudowany g\u0142o\u015bnik (tylko V2).\"\"\"\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 magistrali szeregowego interfejsu (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Szeroko\u015b\u0107 w bitach ka\u017cdego transferu. Obecnie obs\u0142ugiwanych jest tylko ``bits=8``. Mo\u017ce to jednak ulec zmianie w przysz\u0142o\u015bci.\n:param mode: Okre\u015bla po\u0142\u0105czenie polarno\u015bci zegara i fazy - `zobacz tabel\u0119 online `_.\n:param sclk: pin sclk (domy\u015blnie 13)\n:param mosi: pin mosi (domy\u015blnie 15)\n:param miso: pin miso (domy\u015blnie 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Czytaj bajty.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maksymalna liczba bajt\u00f3w do odczytu.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Zapisz bajty na magistrali.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Bufor do odczytu danych.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Zapisz bufor ``out`` do magistrali i wczytaj dowoln\u0105 odpowied\u017a do bufora ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Bufor do zapisu dowolnej odpowiedzi.\n:param in_: Bufor do odczytu danych.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniem za pomoc\u0105 interfejsu szeregowego.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Nieparzysta parzysto\u015b\u0107\"\"\"\nEVEN: int\n\"\"\"Parzysta parzysto\u015b\u0107\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 seryjn\u0105.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Rozmiar przesy\u0142anych bajt\u00f3w. micro:bit obs\u0142uguje tylko 8.\n:param parity: Jak sprawdzana jest parzysto\u015b\u0107, ``None``, ``uart.ODD`` lub ``uart.EVEN``.\n:param stop: Liczba bit\u00f3w stopu musi wynosi\u0107 1 dla micro:bita.\n:param tx: Transmituj\u0105c pin.\n:param rx: Odbieranie pinu.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Sprawd\u017a, czy czekaj\u0105 jakie\u015b dane.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Czytaj bajty.\n\nExample: ``uart.read()``\n\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj jak najwi\u0119cej bajt\u00f3w\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Przeczytaj bajty do ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Bufor do zapisu.\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj ``len(buf)`` bajt\u00f3w.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Przeczytaj wiersz ko\u0144cz\u0105cy si\u0119 znakiem nowej linii.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Zapisz bufor na magistrali.\n\nExample: ``uart.write('hello world')``\n\n:param buf: Obiekt bajt\u00f3w lub \u0142a\u0144cuch.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" + } +} \ No newline at end of file diff --git a/src/micropython/main/typeshed.zh-cn.json b/src/micropython/main/typeshed.zh-cn.json index 622feab42..aaba9d941 100644 --- a/src/micropython/main/typeshed.zh-cn.json +++ b/src/micropython/main/typeshed.zh-cn.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u603b\u7ebf\u534f\u8bae\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (i2c\u603b\u7ebf\u534f\u8bae)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5916\u8bbe\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u65f6\u949f\u9891\u7387\n:param sda: (SDA\u5f15\u811a) ``sda`` \u5f15\u811a(\u9ed8\u8ba4 20)\n:param scl: (SCL\u5f15\u811a) ``scl`` \u5f15\u811a(\u9ed8\u8ba4 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u626b\u63cf\u603b\u7ebf\u4ee5\u67e5\u627e\u8bbe\u5907\u3002 (\u626b\u63cf)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u4ece\u8bbe\u5907\u8bfb\u53d6\u5b57\u8282. (\u8bfb\u53d6)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param n: \u8981\u8bfb\u53d6\u7684\u5b57\u8282\u6570\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u8bbe\u5907\u3002 (\u5199\u5165)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param buf: (\u7f13\u51b2\u533a) \u5305\u542b\u8981\u5199\u5165\u7684\u5b57\u8282\u7684\u7f13\u51b2\u533a\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u9ea6\u514b\u98ce\u54cd\u5e94\u58f0\u97f3\uff08\u4ec5\u9650 V2\uff09\u3002 (\u9ea6\u514b\u98ce)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u83b7\u53d6\u6700\u540e\u5f55\u5236\u7684\u58f0\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u81ea\u4e0a\u6b21\u901a\u8bdd\u540e\u662f\u5426\u81f3\u5c11\u542c\u5230\u4e00\u6b21\u58f0\u97f3\u3002 (\u66fe\u7ecf\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u6700\u8fd1\u68c0\u6d4b\u5230\u7684\u58f0\u97f3\u4e8b\u4ef6\u3002 (\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u58f0\u97f3\u4e8b\u4ef6\u5386\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u58f0\u97f3\u4e8b\u4ef6\u7684\u9608\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (\u4e8b\u4ef6) \u58f0\u97f3\u4e8b\u4ef6\uff0c\u5982``SoundEvent.LOUD``\u6216``SoundEvent.QUIET``\u3002\n:param value: \u8303\u56f4\u4e3a0\u5230255\u7684\u9608\u503c\u6c34\u5e73\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u83b7\u53d6\u58f0\u538b\u7ea7\u3002 (\u97f3\u91cf)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5185\u7f6e\u626c\u58f0\u5668\uff08\u4ec5\u9650 V2\uff09\u3002 (\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b)\"\"\"\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u5173\u95ed)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u6253\u5f00)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u6570\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:param out: (\u5199\u51fa) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u4e32\u884c\u63a5\u53e3\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u901a\u7528\u5f02\u6b65\u6536\u53d1\u5668\uff08UART\uff09)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6821\u9a8c (\u5947\u6570)\"\"\"\nEVEN: int\n\"\"\"\u5076\u6821\u9a8c (\u5076\u6570)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u901a\u4fe1\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d\u6570) \u6b63\u5728\u4f20\u8f93\u7684\u5b57\u8282\u5927\u5c0f\u3002micro:bit \u4ec5\u652f\u6301 8 \u5b57\u8282\u3002\n:param parity: (\u5947\u5076\u6821\u9a8c) \u5982\u4f55\u68c0\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: (\u505c\u6b62) \u505c\u6b62\u4f4d\u7684\u6570\u91cf\uff0c\u5bf9\u4e8e micro:bit\uff0c\u5fc5\u987b\u4e3a 1\u3002\n:param tx: (\u53d1\u9001\u5f15\u811a) \u4f20\u8f93\u5f15\u811a\u3002\n:param rx: (\u63a5\u6536\u5f15\u811a) \u63a5\u6536\u5f15\u811a\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u6709\u4efb\u4f55\u6570\u636e\u6b63\u5728\u7b49\u5f85\u3002 (\u4efb\u4f55)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``uart.read()``\n\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6\u5c3d\u53ef\u80fd\u591a\u7684\u5b57\u8282\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u5230 ``buf``\u3002 (\u8bfb\u5165)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (\u7f13\u51b2\u533a) \u8981\u5199\u5165\u7684\u7f13\u5b58\u3002\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6 ``len(buf)`` \u4e2a\u5b57\u8282\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u4e00\u884c\uff0c\u4ee5\u6362\u884c\u7b26\u7ed3\u5c3e\u3002 (\u8bfb\u53d6\u4e00\u884c)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c06\u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (\u7f13\u51b2\u533a) \u4e00\u4e2a\u5b57\u8282\u5bf9\u8c61\u6216\u4e00\u4e2a\u5b57\u7b26\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/micropython/main/typeshed.zh-tw.json b/src/micropython/main/typeshed.zh-tw.json index c348326fa..cab153670 100644 --- a/src/micropython/main/typeshed.zh-tw.json +++ b/src/micropython/main/typeshed.zh-tw.json @@ -43,7 +43,7 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u532f\u6d41\u6392\u901a\u8a0a\u5354\u5b9a\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5468\u908a\u8a2d\u5099\u3002\n\nExample: ``i2c.init()``\n\n:param freq: (\u983b\u7387) \u6642\u8108\u983b\u7387\n:param sda: ``sda`` \u5f15\u8173 (\u9810\u8a2d 20)\n:param scl: ``scl`` \u5f15\u8173 (\u9810\u8a2d 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u6383\u63cf\u532f\u6d41\u6392\u4ee5\u5c0b\u627e\u88dd\u7f6e\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u5f9e\u88dd\u7f6e\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u5730\u5740\n:param n: \u8981\u8b80\u53d6\u7684\u4f4d\u5143\u7d44\u6578\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u88dd\u7f6e\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u4f4d\u5740\n:param buf: \u5305\u542b\u8981\u5beb\u5165\u4f4d\u5143\u7d44\u7684\u7de9\u885d\u5340\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u9ea5\u514b\u98a8\u56de\u61c9\u8072\u97f3 (\u50c5\u9650 V2)\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u53d6\u5f97\u6700\u5f8c\u9304\u88fd\u7684\u8072\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\uff0c\u662f\u5426\u81f3\u5c11\u6709\u807d\u5230\u4e00\u6b21\u8072\u97f3\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u5075\u6e2c\u5230\u7684\u6700\u65b0\u8072\u97f3\u4e8b\u4ef6\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u8072\u97f3\u4e8b\u4ef6\u6b77\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u8072\u97f3\u4e8b\u4ef6\u7684\u95be\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: \u8072\u97f3\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\u3002\n:param value: 0-255 \u7bc4\u570d\u5167\u7684\u95be\u503c\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u53d6\u5f97\u8072\u58d3\u4f4d\u6e96\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5167\u5efa\u63da\u8072\u5668 (\u50c5\u9650 V2)\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u63da\u8072\u5668\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u63da\u8072\u5668\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u4f7f\u7528\u5468\u908a\u8a2d\u5099\u4ecb\u9762 (SPI) \u532f\u6d41\u6392\u8207\u88dd\u7f6e\u9032\u884c\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316 SPI \u901a\u8a0a\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6bcf\u6b21\u50b3\u8f38\u7684\u4f4d\u5143\u5bec\u5ea6\u3002\u76ee\u524d\u50c5\u652f\u63f4 ``bits=8``\u3002\u7136\u800c\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u672a\u4f86\u53ef\u80fd\u6703\u6539\u8b8a\u3002\n:param mode: \u78ba\u5b9a\u6642\u8108\u6975\u6027\u548c\u76f8\u4f4d\u7684\u7d44\u5408 - \u8acb\u898b\u7dda\u4e0a\u8868\u683c `_\u3002\n:param sclk: sclk \u5f15\u8173 (\u9810\u8a2d 13)\n:param mosi: mosi \u5f15\u8173 (\u9810\u8a2d 15)\n:param miso: miso \u5f15\u8173 (\u9810\u8a2d 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8981\u8b80\u53d6\u7684\u6700\u5927\u4f4d\u5143\u7d44\u6578\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u8b80\u53d6\u8cc7\u6599\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c07 ``out`` \u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\uff0c\u4e26\u5c07\u4efb\u4f55\u56de\u61c9\u5beb\u5165 ``in_`` \u7de9\u885d\u5340\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u8981\u5beb\u5165\u4efb\u4f55\u56de\u61c9\u7684\u7de9\u885d\u5340\u3002\n:param in_: \u8981\u5f9e\u4e2d\u8b80\u53d6\u8cc7\u6599\u7684\u7de9\u885d\u5340\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u4f7f\u7528\u5468\u908a\u8a2d\u5099\u4ecb\u9762 (SPI) \u532f\u6d41\u6392\u8207\u88dd\u7f6e\u9032\u884c\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316 SPI \u901a\u8a0a\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6bcf\u6b21\u50b3\u8f38\u7684\u4f4d\u5143\u5bec\u5ea6\u3002\u76ee\u524d\u50c5\u652f\u63f4 ``bits=8``\u3002\u7136\u800c\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u672a\u4f86\u53ef\u80fd\u6703\u6539\u8b8a\u3002\n:param mode: \u78ba\u5b9a\u6642\u8108\u6975\u6027\u548c\u76f8\u4f4d\u7684\u7d44\u5408 - \u8acb\u898b\u7dda\u4e0a\u8868\u683c `_\u3002\n:param sclk: sclk \u5f15\u8173 (\u9810\u8a2d 13)\n:param mosi: mosi \u5f15\u8173 (\u9810\u8a2d 15)\n:param miso: miso \u5f15\u8173 (\u9810\u8a2d 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8981\u8b80\u53d6\u7684\u6700\u5927\u4f4d\u5143\u7d44\u6578\u3002\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u8b80\u53d6\u8cc7\u6599\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c07 ``out`` \u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\uff0c\u4e26\u5c07\u4efb\u4f55\u56de\u61c9\u5beb\u5165 ``in_`` \u7de9\u885d\u5340\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u8981\u5beb\u5165\u4efb\u4f55\u56de\u61c9\u7684\u7de9\u885d\u5340\u3002\n:param in_: \u8981\u5f9e\u4e2d\u8b80\u53d6\u8cc7\u6599\u7684\u7de9\u885d\u5340\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u5e8f\u5217\u4ecb\u9762\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\nEVEN: int\n\"\"\"\u5076\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u5e8f\u5217\u901a\u8a0a\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6b63\u5728\u50b3\u8f38\u7684\u4f4d\u5143\u7d44\u5927\u5c0f\uff0cmicro:bit \u53ea\u652f\u63f4 8\u3002\n:param parity: \u5982\u4f55\u6aa2\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: \u505c\u6b62\u4f4d\u5143\u7684\u6578\u91cf\uff0cmicro:bit \u5fc5\u9808\u70ba 1\u3002\n:param tx: \u50b3\u8f38\u5f15\u8173\u3002\n:param rx: \u6b63\u5728\u63a5\u6536\u5f15\u8173\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6709\u4efb\u4f55\u8cc7\u6599\u6b63\u5728\u7b49\u5f85\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6\u76e1\u53ef\u80fd\u591a\u7684\u4f4d\u5143\u7d44\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u8b80\u5165 ``buf``\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6 ``len(buf)`` \u500b\u4f4d\u5143\u7d44\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4e00\u884c\uff0c\u4ee5\u65b0\u884c\u5b57\u5143\u7d50\u5c3e\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c07\u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u4e00\u500b\u4f4d\u5143\u7d44\u7269\u4ef6\u6216\u4e00\u500b\u5b57\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" diff --git a/src/settings/settings.tsx b/src/settings/settings.tsx index 94f7b2cb9..05964cc38 100644 --- a/src/settings/settings.tsx +++ b/src/settings/settings.tsx @@ -72,6 +72,12 @@ const allLanguages: Language[] = [ name: "한국어", enName: "Korean", }, + { + id: "pl", + name: "Polski", + enName: "Polish", + preview: true, + }, { id: "es-es", name: "Español", From 46c2580fcad12dc54e974de4dc3de3b82d7239dc Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Tue, 27 Aug 2024 10:47:44 +0100 Subject: [PATCH 13/19] Enable the PWA flag for review/staging (#1192) --- src/flags.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/flags.ts b/src/flags.ts index 270cbe867..10216f15c 100644 --- a/src/flags.ts +++ b/src/flags.ts @@ -67,7 +67,10 @@ const allFlags: FlagMetadata[] = [ { name: "noLang", defaultOnStages: [] }, { name: "translate", defaultOnStages: [] }, { name: "noWelcome", defaultOnStages: ["local", "REVIEW"] }, - { name: "pwa", defaultOnStages: [] }, + { + name: "pwa", + defaultOnStages: ["local", "REVIEW", "STAGING"], + }, ]; type Flags = Record; From 7d0a576faa8aac466123dacb22d1f6dad5e0cab3 Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Wed, 27 Nov 2024 13:45:58 +0000 Subject: [PATCH 14/19] Enable PWA on production (#1195) Remove it locally as the SW code bails in that scenario anyway. --- src/flags.ts | 2 +- src/simulator/Simulator.tsx | 2 +- src/workbench/flags.test.ts | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/flags.ts b/src/flags.ts index 10216f15c..2c861e4ec 100644 --- a/src/flags.ts +++ b/src/flags.ts @@ -69,7 +69,7 @@ const allFlags: FlagMetadata[] = [ { name: "noWelcome", defaultOnStages: ["local", "REVIEW"] }, { name: "pwa", - defaultOnStages: ["local", "REVIEW", "STAGING"], + defaultOnStages: ["REVIEW", "STAGING", "PRODUCTION"], }, ]; diff --git a/src/simulator/Simulator.tsx b/src/simulator/Simulator.tsx index 2cccb284e..68e3b86a7 100644 --- a/src/simulator/Simulator.tsx +++ b/src/simulator/Simulator.tsx @@ -46,7 +46,7 @@ const Simulator = ({ const [brand500] = useToken("colors", ["brand.500"]); const url = useMemo(() => { const production = - "https://python-simulator.usermbit.org/v/0.1/simulator.html"; + "https://python-simulator.usermbit.org/v/0.1/simulator.html?flag=sw"; const staging = "https://python-simulator.usermbit.org/staging/simulator.html?flag=sw"; diff --git a/src/workbench/flags.test.ts b/src/workbench/flags.test.ts index a9e399559..455f2144c 100644 --- a/src/workbench/flags.test.ts +++ b/src/workbench/flags.test.ts @@ -14,12 +14,15 @@ describe("flags", () => { expect(flags.dndDebug).toEqual(false); }); - it("enables nothing in production", () => { + it("only enables PWA in production", () => { const params = new URLSearchParams([]); const flags = flagsForParams("PRODUCTION", params); - expect(Object.values(flags).every((x) => !x)).toEqual(true); + expect(flags.pwa).toBe(true); + const { pwa, ...filteredFlags } = flags; + + expect(Object.values(filteredFlags).every((x) => !x)).toEqual(true); }); it("enable specific flag", () => { @@ -29,7 +32,7 @@ describe("flags", () => { expect( Object.entries(flags).every( - ([flag, status]) => (flag === "noWelcome") === status + ([flag, status]) => (flag === "noWelcome" || flag === "pwa") === status ) ).toEqual(true); }); From 9e9fb8825c04ca78d4c977e6c4bca67db0429780 Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Wed, 27 Nov 2024 16:40:16 +0000 Subject: [PATCH 15/19] Reinstate simulator compass animation (#1197) --- src/simulator/CompassModule.tsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/simulator/CompassModule.tsx b/src/simulator/CompassModule.tsx index ec06c711a..7eafe2dea 100644 --- a/src/simulator/CompassModule.tsx +++ b/src/simulator/CompassModule.tsx @@ -65,12 +65,9 @@ const CompassModule = ({ onSensorChange={onValueChange} minimised={minimised} /> - + + + From 9947c9a7af1864f96a1d8042be76908d76d887e2 Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Mon, 9 Dec 2024 11:57:50 +0000 Subject: [PATCH 16/19] Signature help: restructure async work (#1198) sendRequest isn't an async function and it can synchronously throw errors so we need something to prevent reentrant updates in the error case. Otherwise though we don't needed it if we move more work into the state. I've also calculated line/column ASAP - I'm not sure this is necessary but it feels obviously correct / straightforward which is a win in this code. --- .../language-server/signatureHelp.ts | 162 +++++++++++------- 1 file changed, 104 insertions(+), 58 deletions(-) diff --git a/src/editor/codemirror/language-server/signatureHelp.ts b/src/editor/codemirror/language-server/signatureHelp.ts index 9903cdf79..b14789ddb 100644 --- a/src/editor/codemirror/language-server/signatureHelp.ts +++ b/src/editor/codemirror/language-server/signatureHelp.ts @@ -7,7 +7,7 @@ * * SPDX-License-Identifier: MIT */ -import { EditorState, StateEffect, StateField } from "@codemirror/state"; +import { Facet, StateEffect, StateField } from "@codemirror/state"; import { Command, EditorView, @@ -22,8 +22,8 @@ import { import { IntlShape } from "react-intl"; import { MarkupContent, + Position, SignatureHelp, - SignatureHelpParams, SignatureHelpRequest, } from "vscode-languageserver-protocol"; import { ApiReferenceMap } from "../../../documentation/mapping/content"; @@ -38,6 +38,10 @@ import { import { nameFromSignature, removeFullyQualifiedName } from "./names"; import { offsetToPosition } from "./positions"; +export const automaticFacet = Facet.define({ + combine: (values) => values[values.length - 1] ?? true, +}); + export const setSignatureHelpRequestPosition = StateEffect.define({}); export const setSignatureHelpResult = StateEffect.define( @@ -49,6 +53,12 @@ class SignatureHelpState { * -1 for no signature help requested. */ pos: number; + + /** + * The LSP position for pos. + */ + position: Position | null; + /** * The latest result we want to display. * @@ -57,11 +67,16 @@ class SignatureHelpState { */ result: SignatureHelp | null; - constructor(pos: number, result: SignatureHelp | null) { + constructor( + pos: number, + position: Position | null, + result: SignatureHelp | null + ) { if (result && pos === -1) { throw new Error("Invalid state"); } this.pos = pos; + this.position = position; this.result = result; } } @@ -77,44 +92,22 @@ const signatureHelpToolTipBaseTheme = EditorView.baseTheme({ }, }); -const triggerSignatureHelpRequest = async ( - view: EditorView, - state: EditorState -): Promise => { - const uri = state.facet(uriFacet)!; - const client = state.facet(clientFacet)!; - const pos = state.selection.main.from; - const params: SignatureHelpParams = { - textDocument: { uri }, - position: offsetToPosition(state.doc, pos), - }; - try { - // Must happen before other event handling that might dispatch more - // changes that invalidate our position. - queueMicrotask(() => { - view.dispatch({ - effects: [setSignatureHelpRequestPosition.of(pos)], - }); - }); - const result = await client.connection.sendRequest( - SignatureHelpRequest.type, - params - ); - view.dispatch({ - effects: [setSignatureHelpResult.of(result)], - }); - } catch (e) { - if (!isErrorDueToDispose(e)) { - logException(state, e, "signature-help"); - } - view.dispatch({ - effects: [setSignatureHelpResult.of(null)], - }); +const positionEq = (a: Position | null, b: Position | null): boolean => { + if (a === null) { + return b === null; + } + if (b === null) { + return a === null; } + return a.character === b.character && a.line === b.line; }; const openSignatureHelp: Command = (view: EditorView) => { - triggerSignatureHelpRequest(view, view.state); + view.dispatch({ + effects: [ + setSignatureHelpRequestPosition.of(view.state.selection.main.from), + ], + }); return true; }; @@ -124,7 +117,7 @@ export const signatureHelp = ( apiReferenceMap: ApiReferenceMap ) => { const signatureHelpTooltipField = StateField.define({ - create: () => new SignatureHelpState(-1, null), + create: () => new SignatureHelpState(-1, null, null), update(state, tr) { let { pos, result } = state; for (const effect of tr.effects) { @@ -138,17 +131,45 @@ export const signatureHelp = ( } } } + // Even if we just got a result, if the position has been cleared we don't want it. if (pos === -1) { result = null; } + // By default map the previous position forward pos = pos === -1 ? -1 : tr.changes.mapPos(pos); - if (state.pos === pos && state.result === result) { + + // Did the selection moved while open? We'll re-request but keep the old result for now. + if (pos !== -1 && tr.selection) { + pos = tr.selection.main.from; + } + + // Automatic triggering cases + const automatic = tr.state.facet(automaticFacet).valueOf(); + if ( + automatic && + ((tr.docChanged && tr.isUserEvent("input")) || + tr.isUserEvent("dnd.drop.call")) + ) { + tr.changes.iterChanges((_fromA, _toA, _fromB, _toB, inserted) => { + if (inserted.sliceString(0).trim().endsWith("()")) { + // Triggered + pos = tr.newSelection.main.from; + } + }); + } + + const position = pos === -1 ? null : offsetToPosition(tr.state.doc, pos); + if ( + state.pos === pos && + state.result === result && + positionEq(state.position, position) + ) { // Avoid pointless tooltip updates. If nothing else it makes e2e tests hard. return state; } - return new SignatureHelpState(pos, result); + return new SignatureHelpState(pos, position, result); }, provide: (f) => showTooltip.from(f, (val) => { @@ -191,30 +212,54 @@ export const signatureHelp = ( extends BaseLanguageServerView implements PluginValue { - constructor(view: EditorView, private automatic: boolean) { + private destroyed = false; + private lastPosition: Position | null = null; + + constructor(view: EditorView) { super(view); } update(update: ViewUpdate) { - if ( - (update.docChanged || update.selectionSet) && - this.view.state.field(signatureHelpTooltipField).pos !== -1 - ) { - triggerSignatureHelpRequest(this.view, update.state); - } else if (this.automatic && update.docChanged) { - const last = update.transactions[update.transactions.length - 1]; - - // This needs to trigger for autocomplete adding function parens - // as well as normal user input with `closebrackets` inserting - // the closing bracket. - if (last.isUserEvent("input") || last.isUserEvent("dnd.drop.call")) { - last.changes.iterChanges((_fromA, _toA, _fromB, _toB, inserted) => { - if (inserted.sliceString(0).trim().endsWith("()")) { - triggerSignatureHelpRequest(this.view, update.state); + const { view, state } = update; + const uri = state.facet(uriFacet)!; + const client = state.facet(clientFacet)!; + const { position } = update.state.field(signatureHelpTooltipField); + if (!positionEq(this.lastPosition, position)) { + this.lastPosition = position; + if (position !== null) { + (async () => { + try { + const result = await client.connection.sendRequest( + SignatureHelpRequest.type, + { + textDocument: { uri }, + position, + } + ); + if (!this.destroyed) { + view.dispatch({ + effects: [setSignatureHelpResult.of(result)], + }); + } + } catch (e) { + if (!isErrorDueToDispose(e)) { + logException(state, e, "signature-help"); + } + // The sendRequest call can fail synchronously when disposed so we need to ensure our clean-up doesn't happen inside the CM update call. + queueMicrotask(() => { + if (!this.destroyed) { + view.dispatch({ + effects: [setSignatureHelpResult.of(null)], + }); + } + }); } - }); + })(); } } } + destroy(): void { + this.destroyed = true; + } } const formatSignatureHelp = ( @@ -306,10 +351,11 @@ export const signatureHelp = ( return [ // View only handles automatic triggering. - ViewPlugin.define((view) => new SignatureHelpView(view, automatic)), + ViewPlugin.define((view) => new SignatureHelpView(view)), signatureHelpTooltipField, signatureHelpToolTipBaseTheme, keymap.of(signatureHelpKeymap), + automaticFacet.of(automatic), EditorView.domEventHandlers({ blur(event, view) { // Close signature help as it interacts badly with drag and drop if From 346e4e0fdd59d22265eef9cb5ee4379e979a3c63 Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:57:02 +0000 Subject: [PATCH 17/19] Fix missing "Code copied..." string (#1200) Closes https://github.com/microbit-foundation/python-editor-v3/issues/1199 --- lang/ui.ca.json | 4 ++++ lang/ui.de.json | 4 ++++ lang/ui.en.json | 4 ++++ lang/ui.es-es.json | 4 ++++ lang/ui.fr.json | 4 ++++ lang/ui.ja.json | 4 ++++ lang/ui.ko.json | 4 ++++ lang/ui.lol.json | 4 ++++ lang/ui.nl.json | 4 ++++ lang/ui.pl.json | 4 ++++ lang/ui.zh-cn.json | 4 ++++ lang/ui.zh-tw.json | 4 ++++ src/editor/active-editor-hooks.tsx | 6 ++++-- src/editor/codemirror/CodeMirror.tsx | 2 +- src/messages/ui.ca.json | 6 ++++++ src/messages/ui.de.json | 6 ++++++ src/messages/ui.en.json | 6 ++++++ src/messages/ui.es-es.json | 6 ++++++ src/messages/ui.fr.json | 6 ++++++ src/messages/ui.ja.json | 6 ++++++ src/messages/ui.ko.json | 6 ++++++ src/messages/ui.lol.json | 6 ++++++ src/messages/ui.nl.json | 6 ++++++ src/messages/ui.pl.json | 6 ++++++ src/messages/ui.zh-cn.json | 6 ++++++ src/messages/ui.zh-tw.json | 6 ++++++ 26 files changed, 125 insertions(+), 3 deletions(-) diff --git a/lang/ui.ca.json b/lang/ui.ca.json index 3a9487ea8..d50f2c671 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -211,6 +211,10 @@ "defaultMessage": "Copia el programa", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Crea", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.de.json b/lang/ui.de.json index acf49b770..66d4f7ce3 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -211,6 +211,10 @@ "defaultMessage": "Code kopieren", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Erstellen", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.en.json b/lang/ui.en.json index 74d3435be..585c00b02 100644 --- a/lang/ui.en.json +++ b/lang/ui.en.json @@ -211,6 +211,10 @@ "defaultMessage": "Copy code", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Toast shown when you copy from API or Reference snippets" + }, "create-action": { "defaultMessage": "Create", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index 014cc6e0f..676a49aeb 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -211,6 +211,10 @@ "defaultMessage": "Copiar código", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Crea", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 7f19e35a5..543092461 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -211,6 +211,10 @@ "defaultMessage": "Copier le code", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Créez", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.ja.json b/lang/ui.ja.json index a34af86c4..b15552a01 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -211,6 +211,10 @@ "defaultMessage": "コードをコピー", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "作る", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 60e38c574..9fce902ac 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -211,6 +211,10 @@ "defaultMessage": "코드 복사", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Create", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.lol.json b/lang/ui.lol.json index d8273f769..812dd3ded 100644 --- a/lang/ui.lol.json +++ b/lang/ui.lol.json @@ -211,6 +211,10 @@ "defaultMessage": "crwdns331458:0crwdne331458:0", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "crwdns331460:0crwdne331460:0", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.nl.json b/lang/ui.nl.json index bb038b593..f62bf91e9 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -211,6 +211,10 @@ "defaultMessage": "Kopieer code", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Maak", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.pl.json b/lang/ui.pl.json index fa63abcfd..11c0cfa59 100644 --- a/lang/ui.pl.json +++ b/lang/ui.pl.json @@ -211,6 +211,10 @@ "defaultMessage": "Skopiuj kod", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "Twórz", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index 79dd4b8b2..71f0b05a8 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -211,6 +211,10 @@ "defaultMessage": "复制代码", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "创作", "description": "Create action label (e.g. in create file dialog)" diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index f535f926b..ba5cc8d11 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -211,6 +211,10 @@ "defaultMessage": "複製程式碼", "description": "Copy code to clipboard action text" }, + "copy-snippet-advice": { + "defaultMessage": "Code copied, use paste to insert it.", + "description": "Copy code to clipboard action text" + }, "create-action": { "defaultMessage": "創造", "description": "Create action label (e.g. in create file dialog)" diff --git a/src/editor/active-editor-hooks.tsx b/src/editor/active-editor-hooks.tsx index 9d1ed3c37..0a6297692 100644 --- a/src/editor/active-editor-hooks.tsx +++ b/src/editor/active-editor-hooks.tsx @@ -18,6 +18,7 @@ import { ActionFeedback } from "../common/use-action-feedback"; import { Logging } from "../logging/logging"; import { copyCodeSnippet } from "./codemirror/copypaste"; import { CodeInsertType } from "./codemirror/dnd"; +import { IntlShape } from "react-intl"; /** * Actions that operate on a CM editor. @@ -26,7 +27,8 @@ export class EditorActions { constructor( private view: EditorView, private logging: Logging, - private actionFeedback: ActionFeedback + private actionFeedback: ActionFeedback, + private intl: IntlShape ) {} copyCode = async ( @@ -46,7 +48,7 @@ export class EditorActions { id, }); this.actionFeedback.success({ - title: "Code copied, use paste to insert it.", + title: this.intl.formatMessage({ id: "copy-snippet-advice" }), }); }; undo = (): void => { diff --git a/src/editor/codemirror/CodeMirror.tsx b/src/editor/codemirror/CodeMirror.tsx index 05ec97999..e2aa339a6 100644 --- a/src/editor/codemirror/CodeMirror.tsx +++ b/src/editor/codemirror/CodeMirror.tsx @@ -167,7 +167,7 @@ const CodeMirror = ({ }); viewRef.current = view; - setActiveEditor(new EditorActions(view, logging, actionFeedback)); + setActiveEditor(new EditorActions(view, logging, actionFeedback, intl)); } }, [ actionFeedback, diff --git a/src/messages/ui.ca.json b/src/messages/ui.ca.json index 412ba39c3..aa2392b77 100644 --- a/src/messages/ui.ca.json +++ b/src/messages/ui.ca.json @@ -435,6 +435,12 @@ "value": "Copia el programa" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index 5c9993429..4a226ded7 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -471,6 +471,12 @@ "value": "Code kopieren" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.en.json b/src/messages/ui.en.json index e8c6af7c6..3471dbc26 100644 --- a/src/messages/ui.en.json +++ b/src/messages/ui.en.json @@ -431,6 +431,12 @@ "value": "Copy code" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index e7db558b1..7cabeb680 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -435,6 +435,12 @@ "value": "Copiar código" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.fr.json b/src/messages/ui.fr.json index 571adf9c3..9e674cff8 100644 --- a/src/messages/ui.fr.json +++ b/src/messages/ui.fr.json @@ -431,6 +431,12 @@ "value": "Copier le code" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 255841006..9dde023d5 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -455,6 +455,12 @@ "value": "コードをコピー" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index 3b7ecf280..3637bb5e7 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -439,6 +439,12 @@ "value": "코드 복사" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.lol.json b/src/messages/ui.lol.json index 9e1d87cde..b5d049eee 100644 --- a/src/messages/ui.lol.json +++ b/src/messages/ui.lol.json @@ -421,6 +421,12 @@ "value": "crwdns331458:0crwdne331458:0" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index 131d320be..be4bbd7bd 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -443,6 +443,12 @@ "value": "Kopieer code" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.pl.json b/src/messages/ui.pl.json index 970886b53..485e2ff47 100644 --- a/src/messages/ui.pl.json +++ b/src/messages/ui.pl.json @@ -447,6 +447,12 @@ "value": "Skopiuj kod" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index e1c3725f8..b158d6eb1 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -431,6 +431,12 @@ "value": "复制代码" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index 6d815f889..e1fdc916d 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -427,6 +427,12 @@ "value": "複製程式碼" } ], + "copy-snippet-advice": [ + { + "type": 0, + "value": "Code copied, use paste to insert it." + } + ], "create-action": [ { "type": 0, From 5fd35e7308406c27388d23fe2d70ba118173787e Mon Sep 17 00:00:00 2001 From: Robert Knight <95928279+microbit-robert@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:57:12 +0000 Subject: [PATCH 18/19] Translation sync (#1201) --- lang/ui.ca.json | 2 +- lang/ui.de.json | 16 +++---- lang/ui.es-es.json | 2 +- lang/ui.fr.json | 2 +- lang/ui.ja.json | 2 +- lang/ui.ko.json | 2 +- lang/ui.lol.json | 2 +- lang/ui.nl.json | 2 +- lang/ui.pl.json | 4 +- lang/ui.zh-cn.json | 2 +- lang/ui.zh-tw.json | 2 +- ...ale-ca-537-102d34250bd64dcffb61.worker.js} | 2 +- ...cale-de-913-730fd6415f89b500d131.worker.js | 1 - ...cale-de-913-9659826d2d95dc8190bd.worker.js | 1 + ...-es-es-689-26d9690baff64c901ed8.worker.js} | 2 +- ...ale-fr-231-e938f9c58b9ac7c8a0c8.worker.js} | 2 +- ...cale-ja-43-30f155cbba7ffa35a09e.worker.js} | 2 +- ...ale-nl-888-d3c1f910f1d36b76668c.worker.js} | 2 +- ...ale-pl-640-569b6cb153bf9bb688ed.worker.js} | 2 +- ...right-main-fead31ca35819bebaf64.worker.js} | 6 +-- ...ead31ca35819bebaf64.worker.js.LICENSE.txt} | 0 ...t-main-fead31ca35819bebaf64.worker.js.map} | 2 +- src/language-server/pyright.ts | 2 +- src/messages/ui.de.json | 20 ++++----- src/messages/ui.pl.json | 4 +- src/micropython/main/typeshed.ca.json | 6 +-- src/micropython/main/typeshed.de.json | 44 +++++++++---------- src/micropython/main/typeshed.es-es.json | 6 +-- src/micropython/main/typeshed.fr.json | 6 +-- src/micropython/main/typeshed.ja.json | 6 +-- src/micropython/main/typeshed.ko.json | 4 +- src/micropython/main/typeshed.lol.json | 4 +- src/micropython/main/typeshed.nl.json | 6 +-- src/micropython/main/typeshed.pl.json | 8 ++-- src/micropython/main/typeshed.zh-cn.json | 4 +- src/micropython/main/typeshed.zh-tw.json | 4 +- 36 files changed, 92 insertions(+), 92 deletions(-) rename public/workers/{pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js => pyright-locale-ca-537-102d34250bd64dcffb61.worker.js} (63%) delete mode 100644 public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js create mode 100644 public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js rename public/workers/{pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js => pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js} (63%) rename public/workers/{pyright-locale-fr-231-eb261203312776336920.worker.js => pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js} (62%) rename public/workers/{pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js => pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js} (62%) rename public/workers/{pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js => pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js} (62%) rename public/workers/{pyright-locale-pl-640-916ad70220e047f7ef47.worker.js => pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js} (62%) rename public/workers/{pyright-main-732a35e9ffa0a3bb98be.worker.js => pyright-main-fead31ca35819bebaf64.worker.js} (99%) rename public/workers/{pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt => pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt} (100%) rename public/workers/{pyright-main-732a35e9ffa0a3bb98be.worker.js.map => pyright-main-fead31ca35819bebaf64.worker.js.map} (99%) diff --git a/lang/ui.ca.json b/lang/ui.ca.json index d50f2c671..47c0a8a3f 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Crea", diff --git a/lang/ui.de.json b/lang/ui.de.json index 66d4f7ce3..af469cdc4 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -128,7 +128,7 @@ "description": "Confirmation header of deletion of a file" }, "confirm-replace-body": { - "defaultMessage": "Alle Dateien durch die in der hex-Datei ersetzen?", + "defaultMessage": "Alle Dateien durch die in der HEX-Datei ersetzen?", "description": "Confirmation message body for replacing project dialog" }, "confirm-replace-reset": { @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Erstellen", @@ -236,7 +236,7 @@ "description": "Button text for delete action" }, "delete-file-action": { - "defaultMessage": "{name} löschen", + "defaultMessage": "Lösche {name}", "description": "Menu option to delete file" }, "deleted-file": { @@ -479,7 +479,7 @@ "description": "Header for name field" }, "name-used-when": { - "defaultMessage": "Der Name wird verwendet, wenn du die hex-Datei speicherst.", + "defaultMessage": "Dieser Name wird verwendet, wenn du die HEX-Datei speicherst.", "description": "Text under project name field" }, "new-file-hint": { @@ -523,7 +523,7 @@ "description": "Open button text" }, "open-file-action": { - "defaultMessage": "Öffnen...", + "defaultMessage": "Öffnen …", "description": "Open file button text" }, "open-file-dropped": { @@ -643,7 +643,7 @@ "description": "Confirmation message after resetting the project" }, "reset-project-hover": { - "defaultMessage": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit", + "defaultMessage": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit.", "description": "Reset action hover text" }, "results-count": { @@ -663,7 +663,7 @@ "description": "Text for menu item for saving a project hex file" }, "save-hover": { - "defaultMessage": "Speichere die hex-Datei des Projektes auf deinem Computer", + "defaultMessage": "Speichere die HEX-Datei des Projektes auf deinem Computer.", "description": "Hover text over save button" }, "save-python-action": { @@ -755,7 +755,7 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist", + "defaultMessage": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist.", "description": "Checkbox setting label" }, "settings": { diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index 676a49aeb..99ded6713 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Crea", diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 543092461..4c8fa173a 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Créez", diff --git a/lang/ui.ja.json b/lang/ui.ja.json index b15552a01..c0fa76fa5 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "作る", diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 9fce902ac..7c03c5213 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Create", diff --git a/lang/ui.lol.json b/lang/ui.lol.json index 812dd3ded..aa47355d9 100644 --- a/lang/ui.lol.json +++ b/lang/ui.lol.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "crwdns331460:0crwdne331460:0", diff --git a/lang/ui.nl.json b/lang/ui.nl.json index f62bf91e9..8005d1fac 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Maak", diff --git a/lang/ui.pl.json b/lang/ui.pl.json index 11c0cfa59..2c45910d5 100644 --- a/lang/ui.pl.json +++ b/lang/ui.pl.json @@ -28,7 +28,7 @@ "description": "Change made to file" }, "api-description": { - "defaultMessage": "Aby użyć i dla przykładów zobacz Odniesienie", + "defaultMessage": "Aby poznać zastosowania i przykłady, zobacz Referencje", "description": "Extended description at the top of the API tab" }, "api-tab": { @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Twórz", diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index 71f0b05a8..f9de8a7d8 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "创作", diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index ba5cc8d11..d1eb115ee 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "創造", diff --git a/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js b/public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js similarity index 63% rename from public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js rename to public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js index fd189a583..f8e6e96be 100644 --- a/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js +++ b/public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[537],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[537],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" no és compatible amb un {device}","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js b/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js deleted file mode 100644 index 479dacc6a..000000000 --- a/public/workers/pyright-locale-de-913-730fd6415f89b500d131.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Doppelter Parameter „{name}“","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js b/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js new file mode 100644 index 000000000..eb7c11258 --- /dev/null +++ b/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein.","argAssignmentFunction":"Argument stimmt nicht mit Parametertyp in Funktion „{functionName}“ überein.","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter „{paramName}“ überein.","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter „{paramName}“ überein.","argMissingForParam":"Fehlendes Argument für Parameter {name}.","argMissingForParams":"Fehlende Argumente für Parameter {names}.","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet.","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet.","argPositional":"Positionelles Argument erwartet.","argPositionalExpectedOne":"1 positionelles Argument erwartet.","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein.","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert. Meintest du „{booleanName}“?","breakOutsideLoop":"„break“ kann nur innerhalb einer „while“- oder „for“-Schleife verwendet werden.","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet.","continueOutsideLoop":"„continue“ kann nur innerhalb einer „while“- oder „for“-Schleife verwendet werden.","delTargetExpr":"Ausdruck kann nicht gelöscht werden.","duplicateParam":"Doppelter Parameter „{name}“.","expectedAssignRightHandExpr":"Ausdruck auf der rechten Seite von „=“ erwartet.","expectedBinaryRightHandExpr":"Ausdruck auf der rechten Seite des Operators erwartet.","expectedClassName":"Klassenname fehlt.","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt.","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt.","expectedCloseParen":"Schließende runde Klammer „)“ fehlt.","expectedColon":"Doppelpunkt „:“ fehlt.","expectedDelExpr":"Ausdruck nach „del“ fehlt.","expectedElse":"„else“ fehlt.","expectedEqualityOperator":"Gleichheitsoperator erwartet. Meintest du „==“?","expectedExpr":"Ausdruck fehlt.","expectedFunctionName":"Funktionsname nach „def“ fehlt.","expectedIdentifier":"Bezeichner fehlt.","expectedImport":"„import“ fehlt.","expectedImportAlias":"Symbol nach „as“ fehlt.","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt.","expectedIndentedBlock":"Einrückung fehlt.","expectedInExpr":"Ausdruck nach „in“ fehlt.","expectedMemberName":"Fehlender Mitgliedsname nach „.“.","expectedModuleName":"Modulname fehlt.","expectedNamedParameter":"Schlüsselwortparameter muss „*“ folgen.","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte.\\nEine Anweisung pro Zeile erwartet.","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt.","expectedParamName":"Fehlender Parametername.","expectedSliceIndex":"Fehlender Index oder Zuschnitt.","expectedYieldExpr":"Ausdruck in yield-Anweisung erwartet.","globalReassignment":"„{name}“ wird vor der globalen Deklaration zugewiesen.","globalRedefinition":"„{name}“ wurde bereits als global deklariert.","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden.","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden.","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein.","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für Einrückung.","instanceMethodSelfParam":"Instanzmethoden benötigen einen „self“-Parameter.","invalidIdentifierChar":"Ungültiges Zeichen in Bezeichner.","invalidTokenChars":"Ungültiges Zeichen „{text}“ in Token.","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen.","memberDelete":"Kann Mitglied „{name}“ für Typ „{type}“ nicht löschen.","memberSet":"Kann Mitglied „{name}“ nicht für Typ „{type}“ zuweisen.","moduleNotCallable":"Modul ist nicht abrufbar.","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“.","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument.","noOverload":"Argumente stimmen nicht mit Parametertypen überein.","objectNotCallable":"Objekt ist nicht abrufbar.","obscuredClassDeclaration":"Klasse „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredFunctionDeclaration":"Funktion „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredMethodDeclaration":"Methode „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredParameterDeclaration":"Parameter „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredVariableDeclaration":"Deklaration „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","paramAfterKwargsParam":"Parameter kann Parameter „**“ nicht folgen.","paramAlreadyAssigned":"Der Parameter „{name}“ ist bereits vergeben.","paramNameMissing":"Kein Parameter mit dem Namen „{name}“.","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden.","returnOutsideFunction":"„return“ kann nur innerhalb einer Funktion verwendet werden.","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"String nicht geschlossen – fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert.","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt.","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}.","typeNotIterable":"Typ ist nicht iterierbar.","typeNotSupportBinaryOperator":"Operator „{operator}“ wird für diese Typenkombination nicht unterstützt.","typeNotSupportBinaryOperatorBidirectional":"Operator „{operator}“ wird für diese Typenkombination nicht unterstützt.","unaccessedClass":"Klasse „{name}“ wird nie verwendet.","unaccessedFunction":"Funktion „{name}“ wird nie verwendet.","unaccessedImport":"Import „{name}“ wird nie verwendet.","unaccessedSymbol":"„{name}“ wird nicht verwendet.","unaccessedVariable":"Variable „{name}“ wird nie verwendet.","unexpectedIndent":"Unerwartete Einrückung.","unreachableCode":"Code nicht erreichbar.\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird."},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet, aber {received} erhalten."}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js b/public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js similarity index 63% rename from public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js rename to public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js index f53998790..1db658993 100644 --- a/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js +++ b/public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[689],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[689],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" no es compatible con {device}","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js b/public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js similarity index 62% rename from public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js rename to public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js index 502c86fc4..f9dad04bd 100644 --- a/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js +++ b/public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[231],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[231],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" n\'est pas pris en charge sur un(e) {device}","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js b/public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js similarity index 62% rename from public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js rename to public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js index 410463665..f3e4f6906 100644 --- a/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js +++ b/public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[43],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[43],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","microbitVersionApiUnsupported":"\\"{name}\\" は {device} でサポートされていません","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js b/public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js similarity index 62% rename from public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js rename to public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js index a445b420b..8f1a88999 100644 --- a/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js +++ b/public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[888],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[888],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" wordt niet ondersteund op {device}","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js b/public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js similarity index 62% rename from public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js rename to public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js index a5f99df92..b056e7d0d 100644 --- a/public/workers/pyright-locale-pl-640-916ad70220e047f7ef47.worker.js +++ b/public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[640],{464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument nie zgadza się z typem parametru","argAssignmentFunction":"Argument nie zgadza się z typem parametru w funkcji \\"{functionName}\\"","argAssignmentParam":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argAssignmentParamFunction":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argMissingForParam":"Brak argumentu dla parametru {name}","argMissingForParams":"Brak argumentów dla parametrów {names}","argMorePositionalExpectedCount":"Oczekiwane jest {expected} więcej argumentów pozycyjnych","argMorePositionalExpectedOne":"Oczekiwany jest 1 więcej argument pozycyjny","argPositional":"Oczekiwany jest argument pozycyjny","argPositionalExpectedOne":"Oczekiwany jest 1 argument pozycyjny","assignmentTargetExpr":"Wyrażenie nie może być celem przypisania","booleanIsLowerCase":"\\"{name}\\" nie został zdefiniowany, czy masz na myśli \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" może być użyty tylko w pętli \\"while\\" lub \\"for\\"","constructorNoArgs":"Nie są oczekiwane żadne argumenty dla konstruktora \\"{type}\\"","continueOutsideLoop":"\\"continue\\" może być użyte tylko w pętli \\"while\\" lub \\"for\\"","delTargetExpr":"Wyrażenie nie może zostać usunięte","duplicateParam":"Duplikuj parametr \\"{name}\\"","expectedAssignRightHandExpr":"Oczekiwano wyrażenia po prawej stronie \\"=\\"","expectedBinaryRightHandExpr":"Oczekiwane wyrażenie po prawej stronie operatora","expectedClassName":"Brak nazwy klasy","expectedCloseBrace":"Brak nawiasu zamykającego \\"}\\"","expectedCloseBracket":"Brak nawiasu zamykającego \\"]\\"","expectedCloseParen":"Brak nawiasu zamykającego \\")\\"","expectedColon":"Brak dwukropka \\":\\"","expectedDelExpr":"Brak wyrażenie po \\"del\\"","expectedElse":"Brak \\"else\\"","expectedEqualityOperator":"Oczekiwany operator równości, czy miałeś na myśli \\"==\\"?","expectedExpr":"Brak wyrażenia","expectedFunctionName":"Brak nazwy funkcji po \\"def\\"","expectedIdentifier":"Brak identyfikatora","expectedImport":"Brak \\"import\\"","expectedImportAlias":"Brak symbolu po \\"as\\"","expectedImportSymbols":"Oczekiwano jednej lub więcej nazw symboli po imporcie","expectedIn":"Brak \\"in\\"","expectedIndentedBlock":"Brak wcięcia","expectedInExpr":"Brak wyrażenia po \\"in\\"","expectedMemberName":"Brak nazwy użytkownika po \\".\\"","expectedModuleName":"Brak nazwy modułu","expectedNamedParameter":"Parametr słowa kluczowego musi być po \\"*\\"","expectedNewlineOrSemicolon":"Nieoczekiwana instrukcja\\nInstrukcje muszą być jedne na linię","expectedOpenParen":"Brak nawiasu otwierającego \\"(\\"","expectedParamName":"Brak nazwy parametru","expectedSliceIndex":"Brak indeksu lub wycinka","expectedYieldExpr":"Oczekiwane wyrażenie w instrukcji wydajności","globalReassignment":"\\"{name}\\" jest przypisany przed deklaracją globalną","globalRedefinition":"\\"{name}\\" został już zadeklarowany jako globalny","importResolveFailure":"Moduł \\"{importName}\\" nie został znaleziony","importSymbolUnknown":"\\"{name}\\" nie znaleziono w module \\"{moduleName}\\"","inconsistentIndent":"Wcięcie nie pasuje do poprzedniego wiersza","inconsistentTabs":"Niespójne wykorzystanie tabs i spacji dla wcięć","instanceMethodSelfParam":"Metody instancji wymagają parametru \\"self\\"","invalidIdentifierChar":"Nieprawidłowy znak w identyfikatorze","invalidTokenChars":"Nieprawidłowy znak \\"{text}\\" w tokenie","memberAccess":"Nie ma dostępu do członka \\"{name}\\" dla typu \\"{type}\\"","memberDelete":"Nie można usunąć członka \\"{name}\\" dla typu \\"{type}\\"","memberSet":"Nie można przypisać członka \\"{name}\\" dla typu \\"{type}\\"","moduleNotCallable":"Moduł nie jest wywoływalny","moduleUnknownMember":"\\"{name}\\" nie jest znanym członkiem modułu \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argument niedomyślny bastępuje po domyślnym argumentem","noOverload":"Argumenty nie zgadzaj się z typem parametrów","objectNotCallable":"Obiekt nie jest wywoływalny","obscuredClassDeclaration":"Klasa \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredFunctionDeclaration":"Funkcja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredMethodDeclaration":"Metoda \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredParameterDeclaration":"Parametr \\"{name}\\" koliduje z inną deklarację o tej samej nazwie","obscuredVariableDeclaration":"Deklaracja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","paramAfterKwargsParam":"Parametr nie może następować po parametrze \\"**\\"","paramAlreadyAssigned":"Parametr \\"{name}\\" jest już przypisany","paramNameMissing":"Brak parametru o nazwie \\"{name}\\"","positionArgAfterNamedArg":"Argument pozycyjny nie może występować po argumentach słów kluczowych","returnOutsideFunction":"\\"return\\" może być użyte tylko w funkcji","stringUnsupportedEscape":"Nieobsługiwana sekwencja w nazwie typu łańcuch","stringUnterminated":"Łańcuch nie jest zamknięty — brak cudzysłowu","symbolIsUndefined":"\\"{name}\\" nie jest zdefiniowana","trailingCommaInFromImport":"Przecinek końcowy nie jest dozwolony bez otaczających go nawiasów","tupleIndexOutOfRange":"Indeks {index} jest poza zakresem dla typu {type}","typeNotIterable":"Typ nie jest iterowalny","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","unaccessedClass":"Klasa \\"{name}\\" jest nieużywana","unaccessedFunction":"Funkcja \\"{name}\\" jest nieużywana","unaccessedImport":"Import \\"{name}\\" jest nieużywany","unaccessedSymbol":"\\"{name}\\" jest nieużywana","unaccessedVariable":"Zmienna \\"{name}\\" jest nieużywana","unexpectedIndent":"Nieoczekiwane wcięcie","unreachableCode":"Kod jest nieosiągalny\\nLogika Twojego programu oznacza, że ten kod nigdy nie będzie uruchomiony"},"DiagnosticAddendum":{"tupleSizeMismatch":"Niezgodność rozmiaru elementu; oczekiwano {expected}, ale otrzymano {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[640],{464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument nie zgadza się z typem parametru","argAssignmentFunction":"Argument nie zgadza się z typem parametru w funkcji \\"{functionName}\\"","argAssignmentParam":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argAssignmentParamFunction":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argMissingForParam":"Brak argumentu dla parametru {name}","argMissingForParams":"Brak argumentów dla parametrów {names}","argMorePositionalExpectedCount":"Oczekiwane jest {expected} więcej argumentów pozycyjnych","argMorePositionalExpectedOne":"Oczekiwany jest 1 więcej argument pozycyjny","argPositional":"Oczekiwany jest argument pozycyjny","argPositionalExpectedOne":"Oczekiwany jest 1 argument pozycyjny","assignmentTargetExpr":"Wyrażenie nie może być celem przypisania","booleanIsLowerCase":"\\"{name}\\" nie został zdefiniowany, czy masz na myśli \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" może być użyty tylko w pętli \\"while\\" lub \\"for\\"","constructorNoArgs":"Nie są oczekiwane żadne argumenty dla konstruktora \\"{type}\\"","continueOutsideLoop":"\\"continue\\" może być użyte tylko w pętli \\"while\\" lub \\"for\\"","delTargetExpr":"Wyrażenie nie może zostać usunięte","duplicateParam":"Duplikuj parametr \\"{name}\\"","expectedAssignRightHandExpr":"Oczekiwano wyrażenia po prawej stronie \\"=\\"","expectedBinaryRightHandExpr":"Oczekiwane wyrażenie po prawej stronie operatora","expectedClassName":"Brak nazwy klasy","expectedCloseBrace":"Brak nawiasu zamykającego \\"}\\"","expectedCloseBracket":"Brak nawiasu zamykającego \\"]\\"","expectedCloseParen":"Brak nawiasu zamykającego \\")\\"","expectedColon":"Brak dwukropka \\":\\"","expectedDelExpr":"Brak wyrażenie po \\"del\\"","expectedElse":"Brak \\"else\\"","expectedEqualityOperator":"Oczekiwany operator równości, czy miałeś na myśli \\"==\\"?","expectedExpr":"Brak wyrażenia","expectedFunctionName":"Brak nazwy funkcji po \\"def\\"","expectedIdentifier":"Brak identyfikatora","expectedImport":"Brak \\"import\\"","expectedImportAlias":"Brak symbolu po \\"as\\"","expectedImportSymbols":"Oczekiwano jednej lub więcej nazw symboli po imporcie","expectedIn":"Brak \\"in\\"","expectedIndentedBlock":"Brak wcięcia","expectedInExpr":"Brak wyrażenia po \\"in\\"","expectedMemberName":"Brak nazwy użytkownika po \\".\\"","expectedModuleName":"Brak nazwy modułu","expectedNamedParameter":"Parametr słowa kluczowego musi być po \\"*\\"","expectedNewlineOrSemicolon":"Nieoczekiwana instrukcja\\nInstrukcje muszą być jedne na linię","expectedOpenParen":"Brak nawiasu otwierającego \\"(\\"","expectedParamName":"Brak nazwy parametru","expectedSliceIndex":"Brak indeksu lub wycinka","expectedYieldExpr":"Oczekiwane wyrażenie w instrukcji wydajności","globalReassignment":"\\"{name}\\" jest przypisany przed deklaracją globalną","globalRedefinition":"\\"{name}\\" został już zadeklarowany jako globalny","importResolveFailure":"Moduł \\"{importName}\\" nie został znaleziony","importSymbolUnknown":"\\"{name}\\" nie znaleziono w module \\"{moduleName}\\"","inconsistentIndent":"Wcięcie nie pasuje do poprzedniego wiersza","inconsistentTabs":"Niespójne wykorzystanie tabs i spacji dla wcięć","instanceMethodSelfParam":"Metody instancji wymagają parametru \\"self\\"","invalidIdentifierChar":"Nieprawidłowy znak w identyfikatorze","invalidTokenChars":"Nieprawidłowy znak \\"{text}\\" w tokenie","memberAccess":"Nie ma dostępu do członka \\"{name}\\" dla typu \\"{type}\\"","memberDelete":"Nie można usunąć członka \\"{name}\\" dla typu \\"{type}\\"","memberSet":"Nie można przypisać członka \\"{name}\\" dla typu \\"{type}\\"","moduleNotCallable":"Moduł nie jest wywoływalny","moduleUnknownMember":"\\"{name}\\" nie jest znanym członkiem modułu \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" nie jest obsługiwane na {device}","nonDefaultAfterDefault":"Argument niedomyślny bastępuje po domyślnym argumentem","noOverload":"Argumenty nie zgadzaj się z typem parametrów","objectNotCallable":"Obiekt nie jest wywoływalny","obscuredClassDeclaration":"Klasa \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredFunctionDeclaration":"Funkcja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredMethodDeclaration":"Metoda \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredParameterDeclaration":"Parametr \\"{name}\\" koliduje z inną deklarację o tej samej nazwie","obscuredVariableDeclaration":"Deklaracja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","paramAfterKwargsParam":"Parametr nie może następować po parametrze \\"**\\"","paramAlreadyAssigned":"Parametr \\"{name}\\" jest już przypisany","paramNameMissing":"Brak parametru o nazwie \\"{name}\\"","positionArgAfterNamedArg":"Argument pozycyjny nie może występować po argumentach słów kluczowych","returnOutsideFunction":"\\"return\\" może być użyte tylko w funkcji","stringUnsupportedEscape":"Nieobsługiwana sekwencja w nazwie typu łańcuch","stringUnterminated":"Łańcuch nie jest zamknięty — brak cudzysłowu","symbolIsUndefined":"\\"{name}\\" nie jest zdefiniowana","trailingCommaInFromImport":"Przecinek końcowy nie jest dozwolony bez otaczających go nawiasów","tupleIndexOutOfRange":"Indeks {index} jest poza zakresem dla typu {type}","typeNotIterable":"Typ nie jest iterowalny","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","unaccessedClass":"Klasa \\"{name}\\" jest nieużywana","unaccessedFunction":"Funkcja \\"{name}\\" jest nieużywana","unaccessedImport":"Import \\"{name}\\" jest nieużywany","unaccessedSymbol":"\\"{name}\\" jest nieużywana","unaccessedVariable":"Zmienna \\"{name}\\" jest nieużywana","unexpectedIndent":"Nieoczekiwane wcięcie","unreachableCode":"Kod jest nieosiągalny\\nLogika Twojego programu oznacza, że ten kod nigdy nie będzie uruchomiony"},"DiagnosticAddendum":{"tupleSizeMismatch":"Niezgodność rozmiaru elementu; oczekiwano {expected}, ale otrzymano {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js similarity index 99% rename from public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js rename to public/workers/pyright-main-fead31ca35819bebaf64.worker.js index c9cfc2e30..b789b52ac 100644 --- a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js +++ b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js @@ -1,3 +1,3 @@ -/*! For license information please see pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",640:"pl",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"6d57f933221789ac4fa5",100:"ddc72e6b2c1f5de1a885",231:"eb261203312776336920",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"e3d42c104c87070f53c5",598:"50989152ee9593f45224",640:"916ad70220e047f7ef47",689:"044348bd1ddc2b34a22e",888:"88ebe3f78a0987ea286e",913:"730fd6415f89b500d131"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"pl":return(await __webpack_require__.e(640).then(__webpack_require__.t.bind(__webpack_require__,464,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); -//# sourceMappingURL=pyright-main-732a35e9ffa0a3bb98be.worker.js.map \ No newline at end of file +/*! For license information please see pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",640:"pl",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"30f155cbba7ffa35a09e",100:"ddc72e6b2c1f5de1a885",231:"e938f9c58b9ac7c8a0c8",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"102d34250bd64dcffb61",598:"50989152ee9593f45224",640:"569b6cb153bf9bb688ed",689:"26d9690baff64c901ed8",888:"d3c1f910f1d36b76668c",913:"9659826d2d95dc8190bd"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={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:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
    \n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"pl":return(await __webpack_require__.e(640).then(__webpack_require__.t.bind(__webpack_require__,464,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-fead31ca35819bebaf64.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt similarity index 100% rename from public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.LICENSE.txt rename to public/workers/pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt diff --git a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map similarity index 99% rename from public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map rename to public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map index 530608983..7744fdc85 100644 --- a/public/workers/pyright-main-732a35e9ffa0a3bb98be.worker.js.map +++ b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map @@ -1 +1 @@ -{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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B9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ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,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR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,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,C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AAKqsF,UAAqB,KA6P7C,SAASE,GAA0BC,GAAwB,GAC9D,MAAMC,EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB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","file":"pyright-main-732a35e9ffa0a3bb98be.worker.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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B9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ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,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR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,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,C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AAKqsF,UAAqB,KA6P7C,SAASE,GAA0BC,GAAwB,GAC9D,MAAMC,EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB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","file":"pyright-main-fead31ca35819bebaf64.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index 16dffa12d..0b8591b86 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -13,7 +13,7 @@ import { createUri, LanguageServerClient } from "./client"; import { CreateToastFnReturn } from "@chakra-ui/react"; // This is modified by bin/update-pyright.sh -const workerScriptName = "pyright-main-732a35e9ffa0a3bb98be.worker.js"; +const workerScriptName = "pyright-main-fead31ca35819bebaf64.worker.js"; // Very simple cache to avoid React re-creating pointlessly in development. let counter = 0; diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index 4a226ded7..748857ca2 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -340,7 +340,7 @@ "confirm-replace-body": [ { "type": 0, - "value": "Alle Dateien durch die in der hex-Datei ersetzen?" + "value": "Alle Dateien durch die in der HEX-Datei ersetzen?" } ], "confirm-replace-reset": [ @@ -513,12 +513,12 @@ ], "delete-file-action": [ { - "type": 1, - "value": "name" + "type": 0, + "value": "Lösche " }, { - "type": 0, - "value": " löschen" + "type": 1, + "value": "name" } ], "deleted-file": [ @@ -1080,7 +1080,7 @@ "name-used-when": [ { "type": 0, - "value": "Der Name wird verwendet, wenn du die hex-Datei speicherst." + "value": "Dieser Name wird verwendet, wenn du die HEX-Datei speicherst." } ], "new-file-hint": [ @@ -1226,7 +1226,7 @@ "open-file-action": [ { "type": 0, - "value": "Öffnen..." + "value": "Öffnen …" } ], "open-file-dropped": [ @@ -1474,7 +1474,7 @@ "reset-project-hover": [ { "type": 0, - "value": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit" + "value": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit." } ], "results-count": [ @@ -1542,7 +1542,7 @@ "save-hover": [ { "type": 0, - "value": "Speichere die hex-Datei des Projektes auf deinem Computer" + "value": "Speichere die HEX-Datei des Projektes auf deinem Computer." } ], "save-python-action": [ @@ -1764,7 +1764,7 @@ "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist" + "value": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist." } ], "settings": [ diff --git a/src/messages/ui.pl.json b/src/messages/ui.pl.json index 485e2ff47..1fc05eb40 100644 --- a/src/messages/ui.pl.json +++ b/src/messages/ui.pl.json @@ -72,13 +72,13 @@ "api-description": [ { "type": 0, - "value": "Aby użyć i dla przykładów zobacz " + "value": "Aby poznać zastosowania i przykłady, zobacz " }, { "children": [ { "type": 0, - "value": "Odniesienie" + "value": "Referencje" } ], "type": 8, diff --git a/src/micropython/main/typeshed.ca.json b/src/micropython/main/typeshed.ca.json index 2cc19cba8..9e3ff098a 100644 --- a/src/micropython/main/typeshed.ca.json +++ b/src/micropython/main/typeshed.ca.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, imatges, sons, temperatura i volum.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programa l'execuci\u00f3 d'una funci\u00f3 a cada interval especificat pels arguments de temps **nom\u00e9s V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3 a cridar a l'interval previst. Omet quan el fas servir com decorador.\n:param days: (dies) Estableix la marca del dia per la programaci\u00f3\n:param h: Estableix la marca de l'hora per la programaci\u00f3\n:param min: Estableix la marca del minut per la programaci\u00f3\n:param s: Estableix la marca del segon per la programaci\u00f3\n:param ms: Estableix la marca del mil\u00b7lisegon per la programaci\u00f3\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entrar en mode p\u00e0nic. (p\u00e0nic)\n\nExample: ``panic(127)``\n\n:param n: Un nombre enter arbitrari <= 255 per indicar un estat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reinicialitza la placa. (reiniciar)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converteix un valor d'un interval a un interval de nombre enter. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converteix un valor d'un interval a un altre interval de coma flotant. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada de la conversi\u00f3.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera per ``n`` mil\u00b7lisegons. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El nombre de mil\u00b7lisegons a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obt\u00e9 el temps d'execuci\u00f3 de la placa. (temps d'execuci\u00f3)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obt\u00e9 la temperatura de la micro:bit en graus Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Configura el volum (assigna volum)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (baix) i 255 (alt).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe dels botons ``button_a`` i ``button_b``. (bot\u00f3)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 est\u00e0 premut. (\u00e9s premut)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 ha estat premut d'en\u00e7\u00e0 que el dispositiu va arrancar o l'\u00faltima vegada que aquest m\u00e8tode va ser cridat. (ha estat premut)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obt\u00e9 el total acumulat de pressions dels botons i restableix aquest total\na zero abans de tornar. (obt\u00e9 pitjades)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objecte bot\u00f3 esquerre ``Button`` . (bot\u00f3 a)\"\"\"\nbutton_b: Button\n\"\"\"L'objecte el bot\u00f3 dret ``Button``. (bot\u00f3 b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obt\u00e9 el valor digital del pin. (llegeix digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Assigna el valor digital del pin. (escriu digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 per posar el pin alt o 0 per posar el pin baix\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura les resist\u00e8ncies de pull-up/pull-down un dels tres valors possibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configuraci\u00f3 de les resist\u00e8ncies de pull up/down)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) L'estat del pull-up/pull-down del pin corresponent, per ex. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obt\u00e9 l'estat de pull-up/pull-down d'un pin.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Retorna el mode del pin (obt\u00e9 el mode)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Genera un senyal PWM al pin, amb el cicle de treball proporcional a ``value``. (escriu anal\u00f2gic)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un nombre enter o de coma flotant entre 0 (cicle de treball del 0%) i 1023 (cicle de treball del 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` en mil\u00b7lisegons. (configura el per\u00edode amb un valor anal\u00f2gic)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edode) El per\u00edode en mil\u00b7lisegons amb un valor m\u00ednim v\u00e0lid d'1\\u202fms\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` microsegons. (configura el per\u00edode amb un valor anal\u00f2gic en microsegons)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edode) El per\u00edode en microsegons amb un valor v\u00e0lid m\u00ednim de 256\\u202f\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin amb funcions anal\u00f2giques i digitals.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Llegeix el voltatge aplicat al pin. (llegeix anal\u00f2gic)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin amb caracter\u00edstiques anal\u00f2giques, digitals i t\u00e0ctils.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprova si el pin est\u00e0 sent tocat. (est\u00e0 tocat)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Estableix el mode t\u00e0ctil per al pin. (estableix el mode t\u00e0ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin corresponent.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un logotip t\u00e0ctil a la part frontal de la micro:bit, que per defecte est\u00e0 establert al mode t\u00e0ctil capacitiu. (pin logotip)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin per adre\u00e7ar-se a l'altaveu micro:bit. (pin altaveu)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imatge per mostrar a la pantalla LED de micro:bit. (imatge)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imatge d'un cor. (cor)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imatge d'un cor petit (cor petit)\"\"\"\n HAPPY: Image\n \"\"\"Imatge d'una cara feli\u00e7 (feli\u00e7)\"\"\"\n SMILE: Image\n \"\"\"Imatge d'una cara somrient (somriure)\"\"\"\n SAD: Image\n \"\"\"Imatge d'una cara trista (tristesa)\"\"\"\n CONFUSED: Image\n \"\"\"Imatge de cara confusa. (confusa)\"\"\"\n ANGRY: Image\n \"\"\"Imatge d'una cara enfadada. (enfadat)\"\"\"\n ASLEEP: Image\n \"\"\"Imatge d'una cara dormint. (despert)\"\"\"\n SURPRISED: Image\n \"\"\"Imatge d'una cara de sorpresa (sorpr\u00e8s)\"\"\"\n SILLY: Image\n \"\"\"Imatge d'una cara ximple. (ximple)\"\"\"\n FABULOUS: Image\n \"\"\"Imatge d'una cara amb ulleres de sol. (fabul\u00f3s)\"\"\"\n MEH: Image\n \"\"\"Imatge d'una cara inexpressiva. (BAH avorrit)\"\"\"\n YES: Image\n \"\"\"Imatge d'una marca tic. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imatge d'una creu.\"\"\"\n CLOCK12: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les dotze. (les dotze)\"\"\"\n CLOCK11: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les onze. (les onze)\"\"\"\n CLOCK10: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les deu. (les deu)\"\"\"\n CLOCK9: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les nou. (les nou)\"\"\"\n CLOCK8: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les vuit. (les vuit)\"\"\"\n CLOCK7: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les set. (les set)\"\"\"\n CLOCK6: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 6 en punt. (les sis)\"\"\"\n CLOCK5: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 5 en punt. (les cinc)\"\"\"\n CLOCK4: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 4 en punt. (les quatre)\"\"\"\n CLOCK3: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 3 en punt. (les tres)\"\"\"\n CLOCK2: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 2 en punt. (les dues)\"\"\"\n CLOCK1: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a la 1 en punt. (la una)\"\"\"\n ARROW_N: Image\n \"\"\"Imatge de fletxa apuntant al nord. (fletxa n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imatge de fletxa apuntant al nord-est. (fletxa ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imatge de fletxa apuntant a l'est. (fletxa e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imatge de fletxa apuntant al sud-est. (fletxa se)\"\"\"\n ARROW_S: Image\n \"\"\"Imatge de fletxa apuntant al sud. (fletxa s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imatge de fletxa apuntant al sud-oest. (fletxa so)\"\"\"\n ARROW_W: Image\n \"\"\"Imatge de fletxa apuntant a l'oest. (fletxa o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imatge de fletxa apuntant al nord-oest. (fletxa no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imatge d'un triangle apuntant amunt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imatge d'un triangle en la cantonada esquerra. (triangle a l'esquerra)\"\"\"\n CHESSBOARD: Image\n \"\"\"Leds alternatius il\u00b7luminats en un patr\u00f3 d'escacs. (Tauler d'escacs)\"\"\"\n DIAMOND: Image\n \"\"\"Imatge d'un diamant (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imatge d'un diamant petit (diamant petit)\"\"\"\n SQUARE: Image\n \"\"\"Imatge d'un quadrat (quadrat)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imatge d'un quadrat petit (quadrat petit)\"\"\"\n RABBIT: Image\n \"\"\"Imatge d'un conill. (conill)\"\"\"\n COW: Image\n \"\"\"Imatge d'una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imatge de la nota musical negra (nota musical negra)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imatge de la nota musical corxera (nota musical corxera)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imatge d'un parell de notes musicals corxeres (nota musical corxera)\"\"\"\n PITCHFORK: Image\n \"\"\"Imatge d'una forca. (forca)\"\"\"\n XMAS: Image\n \"\"\"Imatge d'un arbre de Nadal (nadal)\"\"\"\n PACMAN: Image\n \"\"\"Imatge del personatge de Pac-man a arcade\"\"\"\n TARGET: Image\n \"\"\"Imatge d'objectiu. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imatge de samarreta. (Imatge d'una samarreta T-shirt)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imatge d'un patinet. (patinet)\"\"\"\n DUCK: Image\n \"\"\"Imatge d'un \u00e0nec. (\u00e0nec)\"\"\"\n HOUSE: Image\n \"\"\"Imatge d'una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imatge d'una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imatge d'una papallona. (papallona)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imatge de figura d'un pal. (imatge d'un pal)\"\"\"\n GHOST: Image\n \"\"\"Imatge d'un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imatge d'una espasa (espasa)\"\"\"\n GIRAFFE: Image\n \"\"\"Imatge d'una girafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imatge d'un crani. (crani)\"\"\"\n UMBRELLA: Image\n \"\"\"Imatge d'un paraigua, (paraigua)\"\"\"\n SNAKE: Image\n \"\"\"Imatge d'una serp. (serp)\"\"\"\n SCISSORS: Image\n \"\"\"Imatge d'unes tisores. (tisores)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les imatges CLOCK_ en seq\u00fc\u00e8ncia. (tots els rellotges)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les ARROW_images en seq\u00fc\u00e8ncia. (totes les fletxes)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imatge a partir d'una cadena que descrigui quins leds estan encesos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena descrivint la imatge.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imatge buida amb ``width`` columnes i ``height`` files.\n\n:param width: (amplada) Amplada opcional de la imatge\n:param height: (al\u00e7\u00e0ria) Al\u00e7\u00e0ria opcional de la imatge\n:param buffer: (mem\u00f2ria interm\u00e8dia) Llistes o bytes opcionals d'enters de ``width``\u00d7``height`` dins l'interval de 0 a 9 per inicialitzar la imatge\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obt\u00e9 el nombre de columnes (amplada)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obt\u00e9 el nombre de files. (al\u00e7\u00e0ria)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor d'un p\u00edxel. (estableix p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:param value: (valor) La brillantor com a nombre enter entre 0 (fosc) i 9 (brillant)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor d'un p\u00edxel. (obt\u00e9 p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a l'esquerra. (despla\u00e7a a l'esquerra)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a la dreta. (despla\u00e7a a la dreta)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant la imatge cap amunt. (despla\u00e7a cap amunt)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant-la cap avall. (despla\u00e7a cap avall)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crea una imatge nova retallant la imatge. (retalla)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de despla\u00e7ament del retall\n:param y: La fila de despla\u00e7ament del retall\n:param w: L'amplada del retall\n:param h: L'al\u00e7\u00e0ria del retall\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una c\u00f2pia exacta de la imatge (c\u00f2pia)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una imatge nova invertint la brillantor dels p\u00edxels de la imatge\nfont. (inverteix)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Assigna la brillantor de tots els p\u00edxels de la imatge (omple)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) La nova brillantor com a nombre entre 0 (fosc) i 9 (brillant).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia una \u00e0rea d'una altra imatge a aquesta imatge.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (font) La imatge font\n:param x: Despla\u00e7ament de la columna inicial a la imatge d'origen\n:param y: Despla\u00e7ament de la fila inicial a la imatge d'origen\n:param w: El nombre de columnes a copiar\n:param h: El nombre de files a copiar\n:param xdest: El despla\u00e7ament de columna a modificar en aquesta imatge\n:param ydest: El despla\u00e7ament de fila que cal modificar en aquesta imatge\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge. (repr - Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge.)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena llegible de la imatge.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova afegint els valors de brillantor de les dues\nimatges per a cada p\u00edxel. (afegeix)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (altre) La imatge a afegir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova restant els valors de brillantor d'una altra imatge d'aquesta imatge.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (altre) La imatge a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova multiplicant la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor per multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova dividint la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor del divisor.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``quiet`` a ``loud`` com picant de mans o cridant. (so fort)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``loud`` a ``quiet`` com parlant o m\u00fasica de fons. (so fluix)\"\"\"\n\nclass Sound:\n \"\"\"Els sons integrats es poden reproduir mitjan\u00e7ant ``audio.play(Sound.NAME)``. (so)\"\"\"\n GIGGLE: Sound\n \"\"\"So de riure (riure)\"\"\"\n HAPPY: Sound\n \"\"\"So feli\u00e7. (feli\u00e7)\"\"\"\n HELLO: Sound\n \"\"\"So de salutaci\u00f3. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"So misteri\u00f3s. (misteri\u00f3s)\"\"\"\n SAD: Sound\n \"\"\"So trist. (tristesa)\"\"\"\n SLIDE: Sound\n \"\"\"So lliscant (so lliscant)\"\"\"\n SOARING: Sound\n \"\"\"So creixent. (creixent)\"\"\"\n SPRING: Sound\n \"\"\"So primaveral. (primaveral)\"\"\"\n TWINKLE: Sound\n \"\"\"So de centelleig. (centelleig)\"\"\"\n YAWN: Sound\n \"\"\"So de badall. (badall)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesura l'acceleraci\u00f3 de la micro:bit i reconeix els gestos. (acceler\u00f2metre)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``x`` en mili-g. (obt\u00e9 x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``y`` en mili-g. (obt\u00e9 y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``z`` en mili-g. (obt\u00e9 z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obt\u00e9 les mesures d'acceleraci\u00f3 en tots els eixos alhora com una tupla. (obt\u00e9 valors)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 de tots els eixos combinats, com un nombre enter positiu. Aquest ser\u00e0 la suma Pitag\u00f2rica dels eixos X, Y i Z. (obt\u00e9 la for\u00e7a)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obt\u00e9 el nom del gest actual. (El gest actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat est\u00e0 actiu actualment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat ha estat actiu des de l'\u00faltima crida.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Retorna una tupla de l'historial de gestos. (obt\u00e9 gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Estableix l'interval de la sensibilitat de l'acceler\u00f2metre, en g (gravetat est\u00e0ndard), al valor m\u00e9s proper acceptat pel maquinari, arrodonit a ``2``, ``4``, o ``8``\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nou interval per a l'acceler\u00f2metre, un nombre enter a ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reprodueix sons amb la micro:bit (importa ``audio`` per a la compatibilitat amb V1). (\u00e0udio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reprodueix un so incorporat, un efecte de s\u00f3 o marcs d'\u00e0udio personalitzats.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un objecte de ``Sound`` incorporat com ``Sound.GIGGLE``, un ``SoundEffect`` o una data de mostra com un iterable de ``AudioFrame`` .\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi el so.\n:param pin: Es pot utilitzar un argument opcional per especificar el pin de sortida per anul\u00b7lar el valor predeterminat de ``pin0``. Si no vols que es reprodueixi cap so, pots utilitzar ``pin=None``.\n:param return_pin: (retorna el pin) Especifica un pin diferent del connector d'expansi\u00f3 per connectar-lo a un altaveu extern en lloc de posar a terra. Aix\u00f2 s'ignora per a la revisi\u00f3 **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Verifica si s'est\u00e0 reproduint un so. (est\u00e0 reproduint)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Atura tota la reproducci\u00f3 d'\u00e0udio. (atura)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecte sonor, compost per un conjunt de par\u00e0metres configurats via el constructor o atributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona sinusoidal pel par\u00e0metre ``waveform``. (forma d'ona sinusoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de dent de serra pel par\u00e0metre ``waveform``. (forma d'ona de dent de serra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona triangular pel par\u00e0metre ``waveform``. (forma d'ona triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona quadrada pel par\u00e0metre ``waveform``. (forma d'ona quadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de soroll pel par\u00e0metre ``waveform``. (forma d'ona de soroll)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona lineal pel par\u00e0metre ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 de corba usada pel par\u00e0metre ``shape``. (forma de corba)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 logar\u00edtmica utilitzada pel par\u00e0metre ``shape``. (forma logar\u00edtmica)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opci\u00f3 de cap efecte utilitzat pel par\u00e0metre ``fx``. (fx cap)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte tr\u00e8molo utilitzat pel par\u00e0metre ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte vibrato utilitzat pel par\u00e0metre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte gorjeu utilitzat pel par\u00e0metre ``fx``. (Efecte gorjeu)\"\"\"\n freq_start: int\n \"\"\"Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999`` (freq\u00fc\u00e8ncia inicial)\"\"\"\n freq_end: int\n \"\"\"Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999`` (frequ\u00e8ncia final)\"\"\"\n duration: int\n \"\"\"Durada del so en mil\u00b7lisegons, un nombre entre ``0`` and ``9999`` (Durada - duraci\u00f3)\"\"\"\n vol_start: int\n \"\"\"Volum inicial, un nombre entre ``0`` and ``255`` (volum inicial)\"\"\"\n vol_end: int\n \"\"\"Valor del volum final, un nombre entre ``0`` and ``255`` (volum final)\"\"\"\n waveform: int\n \"\"\"Tipus de forma d'ona, un d'aquest valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise) (forma d'ona)\"\"\"\n fx: int\n \"\"\"Efecte a afegir al so, un dels seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE`` (efecte)\"\"\"\n shape: int\n \"\"\"El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un efecte de so nou. (inicial)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (freq\u00fc\u00e8ncia inicial) Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param freq_end: (frequ\u00e8ncia final) Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param duration: (Durada - duraci\u00f3) Duraci\u00f3 del so en mil\u00b7lisegons, un nombre entre ``0`` i ``9999``.\n:param vol_start: (volum inicial) Valor del volum inicial, un nombre entre ``0`` i ``255``.\n:param vol_end: (volum final) Valor del volum final, un nombre entre ``0`` i ``255``.\n:param waveform: (forma d'ona) Tipus de forma d'ona, un d'aquests valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (soroll generat aleat\u00f2riament).\n:param fx: (efecte) Efecte a afegir al so, un del seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: (forma) El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una c\u00f2pia d'aquest ``SoundEffect``. (c\u00f2pia)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objecte ``AudioFrame`` \u00e9s una llista de 32 mostres cadascuna de les quals \u00e9s un byte sense signar\n(nombre enter entre 0 i 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobreposa les dades d'aquest ``AudioFrame`` amb les dades d'una altra inst\u00e0ncia ``AudioFrame`` . (copia desde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (altre) ``AudioFrame`` inst\u00e0ncia de la qual copiar les dades.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respon al so fent servir el micr\u00f2fon integrat (nom\u00e9s V2). (micr\u00f2fon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obt\u00e9 l'\u00faltim esdeveniment de sonor gravat (esdeveniment actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprova si s'ha sentit un so almenys una vegada des de l'\u00faltima crida. (va ser un esdeveniment)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprova l'esdeveniment sonor m\u00e9s recent detectat. (\u00e9s un esdeveniment)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obt\u00e9 l'historial d'esdeveniments sonors com una tupla. (obt\u00e9 esdeveniments)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Assigna el llinar per un esdeveniment sonor (estableix llindar)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (esdeveniment) Un esdeveniment sonor, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El llindar en l'interval 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obt\u00e9 el nivell de pressi\u00f3 sonora. (nivell de so)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controla l'altaveu integrat (nom\u00e9s V2). (altaveu)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga l'altaveu.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n l'altaveu.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Llegeix com a m\u00e0xim ``nbytes`` mentre escriu cont\u00ednuament l'\u00fanic byte donat per ``out``. (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:param out: El valor del byte a escriure (per defecte 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunica amb un dispositiu mitjan\u00e7ant una interf\u00edcie s\u00e8rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paritat senar (senar)\"\"\"\nEVEN: int\n\"\"\"Paritat parella (parell)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 en s\u00e8rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: La mida dels bytes que es transmeten. micro:bit nom\u00e9s n'admet 8.\n:param parity: (paritat) Com es verifica la paritat, ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (atura) El nombre de bits de parada ha de ser 1 per micro:bit.\n:param tx: Pin transmissor.\n:param rx: Receiving pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Verifica si hi ha alguna data esperant.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``uart.read()``\n\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim tants bytes, en cas contrari llegeix tants bytes com sigui possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Llegeix bytes al ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: La mem\u00f2ria interm\u00e8dia a on escriure.\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim aquests bytes, en cas contrari llegeix ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Llegir una l\u00ednia que acaba en un car\u00e0cter de nova l\u00ednia.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escriu una mem\u00f2ria interm\u00e8dia al bus (escriu)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objecte bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.de.json b/src/micropython/main/typeshed.de.json index 4ac974c48..c0aae54d1 100644 --- a/src/micropython/main/typeshed.de.json +++ b/src/micropython/main/typeshed.de.json @@ -8,22 +8,22 @@ "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", "/typeshed/stdlib/gc.pyi": "\"\"\"Steuerung des Garbage Collectors\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Automatische Garbage Collection aktivieren.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Automatische Garbage Collection deaktivieren.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Garbage Collection ausf\u00fchren.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Ermittelt die Anzahl der dem Heap-Speicher zugewiesen Bytes.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Gibt die Anzahl der Bytes des verf\u00fcgbaren dynamischen Speichers zur\u00fcck. -1 wird zur\u00fcckgegeben, wenn dieser Wert unbekannt ist.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Den zus\u00e4tzlichen GC-Zuteilungsschwellwert abfragen.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Den zus\u00e4tzlichen GC-Schwellenwert festlegen.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Die Anzahl der Bytes, nach denen eine Garbage Collection ausgel\u00f6st werden soll.\"\"\"\n ...", - "/typeshed/stdlib/log.pyi": "\"\"\"Zeichne Daten auf deinem micro:bit V2 auf.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Millisekunden Zeitstempelformat. (millisekunden)\"\"\"\nSECONDS = 10\n\"\"\"Sekunden Zeitstempelformat. (sekunden)\"\"\"\nMINUTES = 600\n\"\"\"Minuten Zeitstempelformat. (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Stunden Zeitstempelformat. (stunden)\"\"\"\nDAYS = 864000\n\"\"\"Tage Zeitstempelformat.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Den Logdatei-Header setzen (Beschriftungen festlegen)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Eine beliebige Anzahl von Positionsargumenten, die jeweils einem Eintrag in der Kopfzeile des Logs entsprechen.\n:param timestamp: W\u00e4hle die Zeitstempel-Einheit, die automatisch als erste Spalte in jeder Zeile hinzugef\u00fcgt wird. Der Zeitstempel kann einen der folgenden Werte annehmen: ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` oder ``None``, um den Zeitstempel zu deaktivieren. Der Standardwert ist ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile hinzu, indem du ein Dictionary mit Kopfzeileneintr\u00e4gen und Werten \u00fcbergibst. (hinzuf\u00fcgen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (daten w\u00f6rterbuch) Die zu protokollierenden Daten in Form eines Dictionarys mit einem Schl\u00fcssel f\u00fcr jeden Kopfzeileneintrag.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile mit Schl\u00fcsselw\u00f6rtern als Argumenten hinzu. (hinzuf\u00fcgen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"L\u00f6scht den Inhalt des Protokolls, einschlie\u00dflich der Kopfzeilen. (l\u00f6schen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (vollst\u00e4ndig) Mit ``True`` wird ein \" vollst\u00e4ndiges\" L\u00f6schen und mit ``False`` die \"schnelle\" L\u00f6schmethode gew\u00e4hlt.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Richte die Spiegelung der Datenprotokollierung auf dem seriellen Ausgang ein. (spiegeln)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (seriell) ``True`` aktiviert die Spiegelung von Daten auf dem seriellen Ausgang.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Zeichne Daten auf deinem micro:bit V2 auf.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Zeitstempelformat: Millisekunden (millisekunden)\"\"\"\nSECONDS = 10\n\"\"\"Zeitstempelformat: Sekunden (sekunden)\"\"\"\nMINUTES = 600\n\"\"\"Zeitstempelformat: Minuten (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Zeitstempelformat: Stunden (stunden)\"\"\"\nDAYS = 864000\n\"\"\"Tage Zeitstempelformat.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Den Logdatei-Header setzen (Beschriftungen festlegen)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Eine beliebige Anzahl von Positionsargumenten, die jeweils einem Eintrag in der Kopfzeile des Logs entsprechen.\n:param timestamp: W\u00e4hle die Zeitstempel-Einheit, die automatisch als erste Spalte in jeder Zeile hinzugef\u00fcgt wird. Der Zeitstempel kann einen der folgenden Werte annehmen: ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` oder ``None``, um den Zeitstempel zu deaktivieren. Der Standardwert ist ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile hinzu, indem du ein Dictionary mit Kopfzeileneintr\u00e4gen und Werten \u00fcbergibst. (hinzuf\u00fcgen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (daten w\u00f6rterbuch) Die zu protokollierenden Daten in Form eines Dictionarys mit einem Schl\u00fcssel f\u00fcr jeden Kopfzeileneintrag.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile mit Schl\u00fcsselw\u00f6rtern als Argumenten hinzu. (hinzuf\u00fcgen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"L\u00f6scht den Inhalt des Protokolls, einschlie\u00dflich der Kopfzeilen. (l\u00f6schen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (vollst\u00e4ndig) Mit ``True`` wird ein \" vollst\u00e4ndiges\" L\u00f6schen und mit ``False`` die \"schnelle\" L\u00f6schmethode gew\u00e4hlt.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Richte die Spiegelung der Datenprotokollierung auf dem seriellen Ausgang ein. (spiegeln)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (seriell) ``True`` aktiviert die Spiegelung von Daten auf dem seriellen Ausgang.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", "/typeshed/stdlib/machine.pyi": "\"\"\"Low-Level-Utilities. (maschine)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Liefert eine Byte-Zeichenkette mit einem eindeutigen Bezeichner f\u00fcr ein Board. (Eindeutige ID)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt das Ger\u00e4t zur\u00fcck, als w\u00fcrde man die externe RESET-Taste dr\u00fcckt. (zur\u00fccksetzen)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Ermittelt die Taktfrequenz der CPU in Hertz.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Deaktiviere Interrupt-Anforderungen. (IRQ deaktivieren)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Interrupt-Anfragen wieder aktivieren. (IRQ aktivieren)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Der Wert, der beim letzten Aufruf der Funktion ``disable_irq`` zur\u00fcckgegeben wurde.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Gibt die Dauer eines Impulses an einem Pin zur\u00fcck. (zeitimpuls us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Der zu verwendende Pin\n:param pulse_level: (pulsstufe) 0, um einen Low-Impuls oder 1, um einen High-Impuls zu messen\n:param timeout_us: Eine Verz\u00f6gerung in Mikrosekunden\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Die Klasse f\u00fcr die ``mem8``, ``mem16`` und ``mem32`` Speicheranzeigen.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Greife auf einen Wert im Speicher zu.\n\n:param address: (adresse) Die Speicheradresse.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Setzt einen Wert an der angegebenen Adresse.\n\n:param address: (adresse) Die Speicheradresse.\n:param value: (wert) Der zu setzende Integer-Wert.\"\"\"\n ...\nmem8: mem\n\"\"\"8-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem16: mem\n\"\"\"16-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem32: mem\n\"\"\"32-Bit (Byte) Ansicht des Speichers.\"\"\"", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematische Funktionen.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Berechnet den Arkuskosinus.\n\nExample: ``math.acos(1)``\n\n:param x: Eine Zahl\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Berechnet den Arkussinus.\n\nExample: ``math.asin(0)``\n\n:param x: Eine Zahl\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Berechnet den Arkustangens.\n\nExample: ``math.atan(0)``\n\n:param x: Eine Zahl\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Berechnet den Hauptwert des Arkustangens von ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Eine Zahl\n:param x: Eine Zahl\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rundet eine Zahl in Richtung positiver Unendlichkeit.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Berechne ``x`` mit dem Vorzeichen von ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Eine Zahl\n:param y: Die Herkunft des Vorzeichens f\u00fcr den R\u00fcckgabewert\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Berechnet den Kosinus von ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Eine Zahl\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Wandelt Bogenma\u00df (Radiant) in Grad um.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Ein Wert in Radiant\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Berechnet den Exponentialwert von ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Eine Zahl\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Gibt den absoluten Wert von ``x`` zur\u00fcck.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Eine Zahl\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rundet eine Zahl in Richtung negativer Unendlichkeit.\n\nExample: ``math.floor(0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Berechne den Rest von ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Der Z\u00e4hler\n:param y: Der Nenner\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Zerlegt eine Gleitkommazahl in ihre Mantisse und ihren Exponenten.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Eine Flie\u00dfkommazahl\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert endlich ist.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert unendlich ist.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Pr\u00fcft, ob ein Wert keine Zahl (NaN ... Not A Number) ist.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Eine Zahl\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Berechne ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Eine Zahl\n:param exp: Ganzzahl-Exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Berechnet den Logarithmus von ``x`` zur angegebenen Basis (standardm\u00e4\u00dfig den nat\u00fcrlichen Logarithmus).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Eine Zahl\n:param base: Die zu verwendende Basis\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Berechne die gebrochenen und ganzzahligen Teile von ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Eine Zahl\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Gibt ``x`` hoch ``y`` zur\u00fcck.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Eine Zahl\n:param y: Der Exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Wandelt Grad in Bogenma\u00df (Radiant) um.\n\nExample: ``math.radians(360)``\n\n:param x: Ein Wert in Grad\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Berechnet den Sinus von ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Eine Zahl\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Berechnet die Quadratwurzel von ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Eine Zahl\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Berechnet den Tangens von ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Eine Zahl\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rundet eine Zahl gegen 0 ab.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis des nat\u00fcrlichen Logarithmus\"\"\"\npi: float\n\"\"\"Das Verh\u00e4ltnis des Umfangs eines Kreises zu seinem Durchmesser\"\"\"", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython Grundlagen.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Wird verwendet, um zu deklarieren, dass der Ausdruck eine Konstante ist, damit der Compiler ihn optimieren kann.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Ein konstant bleibender Ausdruck.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Ermittelt die aktuelle Optimierungsstufe f\u00fcr die Kompilierung von Skripten.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Legt die Optimierungsstufe f\u00fcr die nachfolgende Kompilierung von Skripten fest.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Eine ganzzahlige Optimierungsstufe.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen \u00fcber den aktuell verwendeten Speicher zur\u00fcck.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen zu aktuell eingebetteten Strings zur\u00fcck.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Gibt einen Integerwert zur\u00fcck, der dem aktuell verwendeten Stack-Speicher entspricht.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Heap-Speicher sperren.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Heap-Speicher entsperren.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Zeichen festlegen, das eine ``KeyboardInterrupt``-Exception ausl\u00f6st.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Zeichencode, um den Interrupt auszul\u00f6sen, oder -1, um die Erfassung von Ctrl-C zu deaktivieren.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", - "/typeshed/stdlib/music.pyi": "\"\"\"Erstelle und spiele Lieder. (Musik)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: der Anfang von Beethovens 5. Symphonie in c-Moll. (dadadadaam)\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodie: die ersten Takte des Ragtime-Klassikers \"The Entertainer\" von Scott Joplin. (Entertainer)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: Beginn des ersten Pr\u00e4ludiums in C-Dur der 48 Pr\u00e4ludien und Fugen von J.S. Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: Die \u201eOde an die Freude\u201c von Beethovens neunter Symphonie in d-Moll. (Ode)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: Die Nyan-Katze (http://www.nyan.cat/) (Nyan)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: Etwas das wie ein Handy-Klingelton klingt. (Klingelton)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: eine funkige Basslinie f\u00fcr Geheimagenten und Superschurken. (Funk)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: ein 12-taktiger Boogie-Woogie-Blues mit Walking Bass. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201eAlles Gute zum Geburtstag\u2026\u201c (Geburtstag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: der Hochzeitschor aus Wagners Oper \"Lohengrin\". (Hochzeit)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodie: der \"Trauermarsch\", auch bekannt als Fr\u00e9d\u00e9ric Chopins Klaviersonate Nr. 2 in b-Moll, op. 35. (Beerdigung)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: ein lustiges Fragment, das anzeigt, dass ein Scherz gemacht worden ist.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousas Marsch \"Liberty Bell\", auch bekannt als das Thema von \"Monty Python's Flying Circus\" (nach dem die Programmiersprache Python benannt ist).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: Auftritt eines Stummfilm-B\u00f6sewichts.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: Stummfilm-Verfolgungsszene.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: ein kurzes Signal, um anzuzeigen, dass etwas passiert ist.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: Eine sehr traurige Posaune.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Aufw\u00e4rtsbewegung zu untermalen.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Abw\u00e4rtsbewegung zu untermalen.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: eine Fanfare, die einen Erfolg anzeigt oder dass etwas freigeschalten wurde.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodie: eine traurige Fanfare, wenn etwas nicht geklappt hat.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Legt das ungef\u00e4hre Tempo f\u00fcr die Wiedergabe fest.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Die Anzahl der Ticks in einem Beat.\n:param bpm: Ein Integerwert, der die Beats pro Minute angibt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gibt das aktuelle Tempo als Tupel von Integerwerten zur\u00fcck: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Spielt Musik.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (Musik) Musik, die in `einer speziellen Notation `_ angegeben ist\n:param pin: der Ausgangspin zur Verwendung mit einem externen Lautsprecher (Voreinstellung ``pin0``), ``None`` f\u00fcr keinen Ton.\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n:param loop: Wenn ``loop`` auf ``True`` gesetzt ist, wird die Melodie wiederholt, bis ``stop`` aufgerufen oder der blockierende Aufruf unterbrochen wird.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Musiknoten spielen (Tonh\u00f6he)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (Frequenz) Eine ganzzahlige Frequenz\n:param duration: (Dauer) Eine Dauer in Millisekunden. Bei negativem Wert erh\u00e4lt man bis zum n\u00e4chsten Aufruf oder einem Aufruf von ``stop`` einen Dauerton.\n:param pin: Optionaler Ausgabepin (Standard ``pin0``).\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stoppt die Musikwiedergabe \u00fcber den eingebauten Lautsprecher sowie jeden Pin, der Sound ausgibt.\n\nExample: ``music.stop()``\n\n:param pin: Ein optionales Argument kann zur Angabe eines Pins angegeben werden, z. B. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Setzt Ticks, bpm, Dauer und Oktave auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individuell adressierbare RGB- und RGBW-LED-Streifen.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialisierung eines neuen Streifens von Neopixel-LEDs, die \u00fcber einen Pin gesteuert werden.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Der Pin, der den Neopixelstreifen steuert.\n:param n: Die Anzahl der Neopixel auf dem Streifen.\n:param bpp: Bytes pro Pixel. F\u00fcr die RGBW Neopixel-Unterst\u00fctzung, m\u00fcssen 4 statt der standardm\u00e4\u00dfigen 3 Bytes pro Pixel f\u00fcr RGB und GRB \u00fcbergeben werden.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"L\u00f6sche alle Pixel.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Die Pixel anzeigen.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Pixel anzeigen (nur micro:bit V2) (schreiben)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Alle Pixel mit einem bestimmten RGB/RGBW-Wert f\u00e4rben.\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (Farbe) Ein Tupel mit der gleichen L\u00e4nge wie die Anzahl der Bytes pro Pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Eine Pixelfarbe festlegen.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Die Pixelnummer.\n:param value: (wert) Die Farbe.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Eine Pixelfarbe erfassen.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Die Pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Liefert die L\u00e4nge des Pixelstreifens.\n\nExample: ``len(np)``\"\"\"", - "/typeshed/stdlib/os.pyi": "\"\"\"Auf das Dateisystem zugreifen.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Dateien auflisten.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Entferne (l\u00f6sche) eine Datei. (Entfernen)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (Dateiname) Die zu l\u00f6schende Datei.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Gibt die Gr\u00f6\u00dfe einer Datei zur\u00fcck\n\nExample: ``os.size('data.txt')``\n\n:param filename: (Dateiname) Die Datei\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Ergebnis von ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Name des Betriebssystems.\"\"\"\n nodename: str\n \"\"\"Name des Rechners im Netz (durch die Implementierung definiert). (Knotenname)\"\"\"\n release: str\n \"\"\"Betriebssystemver\u00f6ffentlichung. (Ver\u00f6ffentlichung)\"\"\"\n version: str\n \"\"\"Betriebssystemversion. (Version)\"\"\"\n machine: str\n \"\"\"Hardware-Kennung. (maschine)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Gibt Informationen zum aktuellen Betriebssystem zur\u00fcck.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", + "/typeshed/stdlib/math.pyi": "\"\"\"Mathematische Funktionen.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Berechnet den Arkuskosinus.\n\nExample: ``math.acos(1)``\n\n:param x: Eine Zahl\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Berechnet den Arkussinus.\n\nExample: ``math.asin(0)``\n\n:param x: Eine Zahl\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Berechnet den Arkustangens.\n\nExample: ``math.atan(0)``\n\n:param x: Eine Zahl\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Berechnet den Hauptwert des Arkustangens von ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Eine Zahl\n:param x: Eine Zahl\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rundet eine Zahl in Richtung positiver Unendlichkeit.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Berechnet ``x`` mit dem Vorzeichen von ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Eine Zahl\n:param y: Die Herkunft des Vorzeichens f\u00fcr den R\u00fcckgabewert\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Berechnet den Kosinus von ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Eine Zahl\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Wandelt Bogenma\u00df (Radiant) in Grad um.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Ein Wert in Radiant\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Berechnet den Exponentialwert von ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Eine Zahl\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Gibt den absoluten Wert von ``x`` zur\u00fcck.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Eine Zahl\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rundet eine Zahl in Richtung negativer Unendlichkeit.\n\nExample: ``math.floor(0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Berechnet den Rest von ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Der Z\u00e4hler\n:param y: Der Nenner\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Zerlegt eine Gleitkommazahl in ihre Mantisse und ihren Exponenten.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Eine Flie\u00dfkommazahl\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert endlich ist.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert unendlich ist.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Pr\u00fcft, ob ein Wert keine Zahl (NaN bzw. Not A Number) ist.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Eine Zahl\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Berechnet ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Eine Zahl\n:param exp: Ganzzahl-Exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Berechnet den Logarithmus von ``x`` zur angegebenen Basis (standardm\u00e4\u00dfig den nat\u00fcrlichen Logarithmus).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Eine Zahl\n:param base: Die zu verwendende Basis\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Berechnet die gebrochenen und ganzzahligen Teile von ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Eine Zahl\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Gibt ``x`` hoch ``y`` zur\u00fcck.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Eine Zahl\n:param y: Der Exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Wandelt Grad in Bogenma\u00df (Radiant) um.\n\nExample: ``math.radians(360)``\n\n:param x: Ein Wert in Grad\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Berechnet den Sinus von ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Eine Zahl\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Berechnet die Quadratwurzel von ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Eine Zahl\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Berechnet den Tangens von ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Eine Zahl\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rundet eine Zahl gegen 0 ab.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis des nat\u00fcrlichen Logarithmus.\"\"\"\npi: float\n\"\"\"Das Verh\u00e4ltnis des Umfangs eines Kreises zu seinem Durchmesser.\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython Grundlagen.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Wird verwendet, um zu deklarieren, dass der Ausdruck eine Konstante ist, damit der Compiler ihn optimieren kann.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Ein konstant bleibender Ausdruck.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Ermittelt die aktuelle Optimierungsstufe f\u00fcr die Kompilierung von Skripten.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Legt die Optimierungsstufe f\u00fcr die nachfolgende Kompilierung von Skripten fest.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Eine ganzzahlige Optimierungsstufe.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen \u00fcber den aktuell verwendeten Speicher zur\u00fcck.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen zu aktuell eingebetteten Strings zur\u00fcck.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Gibt einen Integerwert zur\u00fcck, der dem aktuell verwendeten Stack-Speicher entspricht.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Sperrt den Heap-Speicher.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Entsperrt den Heap-Speicher.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Zeichen festlegen, das eine ``KeyboardInterrupt``-Exception ausl\u00f6st.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Zeichencode, um den Interrupt auszul\u00f6sen, oder -1, um die Erfassung von Ctrl-C zu deaktivieren.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Erstelle und spiele Lieder. (Musik)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: Der Anfang von Beethovens 5. Symphonie in c-Moll. (dadadadaam)\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodie: Die ersten Takte des Ragtime-Klassikers \u201eThe Entertainer\u201c von Scott Joplin. (Entertainer)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: Beginn des ersten Pr\u00e4ludiums in C-Dur der 48 Pr\u00e4ludien und Fugen von J.S. Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: Die \u201eOde an die Freude\u201c von Beethovens neunter Symphonie in d-Moll. (Ode)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: Nyan-Katze (http://www.nyan.cat/). (Nyan)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: Etwas, das wie ein Handy-Klingelton klingt. (Klingelton)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: eine funkige Basslinie f\u00fcr Geheimagenten und Superschurken. (Funk)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: ein 12-taktiger Boogie-Woogie-Blues mit Walking Bass. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201eAlles Gute zum Geburtstag\\xa0\u2026\u201c (Geburtstag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: der Hochzeitschor aus Wagners Oper \u201eLohengrin\u201c. (Hochzeit)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodie: Der \u201eTrauermarsch\u201c, auch bekannt als Fr\u00e9d\u00e9ric Chopins Klaviersonate Nr. 2 in b-Moll, op. 35. (Beerdigung)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: ein lustiges Fragment, das anzeigt, dass ein Scherz gemacht worden ist.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousas Marsch \u201eLiberty Bell\u201c, auch bekannt als die Titelmusik von \u201eMonty Python's Flying Circus\u201c (nach dem die Programmiersprache Python benannt ist).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: Auftritt eines Stummfilm-B\u00f6sewichts.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: Stummfilm-Verfolgungsszene.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: ein kurzes Signal, um anzuzeigen, dass etwas passiert ist.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: Eine sehr traurige Posaune.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Aufw\u00e4rtsbewegung zu untermalen.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Abw\u00e4rtsbewegung zu untermalen.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: eine Fanfare, die einen Erfolg anzeigt oder dass etwas freigeschalten wurde.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodie: eine traurige Fanfare, wenn etwas nicht geklappt hat.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Legt das ungef\u00e4hre Tempo f\u00fcr die Wiedergabe fest.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Die Anzahl der Ticks in einem Beat.\n:param bpm: Ein Integerwert, der die Beats pro Minute angibt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gibt das aktuelle Tempo als Tupel von Integerwerten zur\u00fcck: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Spielt Musik.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (Musik) Musik, die in `einer speziellen Notation `_ angegeben ist\n:param pin: der Ausgangspin zur Verwendung mit einem externen Lautsprecher (Voreinstellung ``pin0``), ``None`` f\u00fcr keinen Ton.\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n:param loop: Wenn ``loop`` auf ``True`` gesetzt ist, wird die Melodie wiederholt, bis ``stop`` aufgerufen oder der blockierende Aufruf unterbrochen wird.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Musiknoten spielen (Tonh\u00f6he)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (Frequenz) Eine ganzzahlige Frequenz\n:param duration: (Dauer) Eine Dauer in Millisekunden. Bei negativem Wert erh\u00e4lt man bis zum n\u00e4chsten Aufruf oder einem Aufruf von ``stop`` einen Dauerton.\n:param pin: Optionaler Ausgabepin (Standard ``pin0``).\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stoppt die Musikwiedergabe \u00fcber den eingebauten Lautsprecher sowie jeden Pin, der Sound ausgibt.\n\nExample: ``music.stop()``\n\n:param pin: Ein optionales Argument kann zur Angabe eines Pins angegeben werden, z. B. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Setzt Ticks, bpm, Dauer und Oktave auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individuell adressierbare RGB- und RGBW-LED-Streifen.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialisiert einen neuen Streifen von Neopixel-LEDs, die \u00fcber einen Pin gesteuert werden.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Der Pin, der den Neopixelstreifen steuert.\n:param n: Die Anzahl der Neopixel auf dem Streifen.\n:param bpp: Bytes pro Pixel. F\u00fcr die RGBW Neopixel-Unterst\u00fctzung, m\u00fcssen 4 statt der standardm\u00e4\u00dfigen 3 Bytes pro Pixel f\u00fcr RGB und GRB \u00fcbergeben werden.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"L\u00f6scht alle Pixel.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Die Pixel anzeigen.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Pixel anzeigen (nur micro:bit V2) (schreiben)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"F\u00e4rbt alle Pixel mit einem bestimmten RGB/RGBW-Wert (nur micro:bit\\xa0V2).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (Farbe) Ein Tupel mit der gleichen L\u00e4nge wie die Anzahl der Bytes pro Pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Eine Pixelfarbe festlegen.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Die Pixelnummer.\n:param value: (wert) Die Farbe.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Eine Pixelfarbe erfassen.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Die Pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Liefert die L\u00e4nge des Pixelstreifens.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Auf das Dateisystem zugreifen.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Dateien auflisten.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Entfernt\\xa0/ L\u00f6scht eine Datei. (Entfernen)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (Dateiname) Die zu l\u00f6schende Datei.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Gibt die Gr\u00f6\u00dfe einer Datei zur\u00fcck\n\nExample: ``os.size('data.txt')``\n\n:param filename: (Dateiname) Die Datei\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Ergebnis von ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Name des Betriebssystems.\"\"\"\n nodename: str\n \"\"\"Name des Rechners im Netz (durch die Implementierung definiert). (Knotenname)\"\"\"\n release: str\n \"\"\"Betriebssystemver\u00f6ffentlichung. (Ver\u00f6ffentlichung)\"\"\"\n version: str\n \"\"\"Betriebssystemversion. (Version)\"\"\"\n machine: str\n \"\"\"Hardware-Kennung. (maschine)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Gibt Informationen zum aktuellen Betriebssystem zur\u00fcck.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Kommunikation zwischen micro:bits mit dem integrierten Funk.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 1 MBit pro Sekunde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 2 MBit pro Sekunde.\"\"\"\n\ndef on() -> None:\n \"\"\"Schaltet den Funk ein.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet den Funk aus, um Strom und Speicherplatz zu sparen.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguriert den Funk.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) legt die maximale L\u00e4nge einer \u00fcber Funk gesendeten Nachricht in Bytes fest. Sie kann bis zu 251 Bytes lang sein (254 - 3 Bytes f\u00fcr S0, LENGTH und S1-Pr\u00e4ambel).\n:param queue: (default=3) gibt die Anzahl der Nachrichten an, die in der Warteschlange f\u00fcr eingehende Nachrichten gespeichert werden k\u00f6nnen. Wenn in der Warteschlange kein Platz mehr f\u00fcr eingehende Nachrichten ist, wird die eingehende Nachricht verworfen.\n:param channel: (default=7) ein Integer-Wert zwischen 0 und 83 (einschlie\u00dflich), der einen beliebigen \"Kanal\" definiert, auf den der Funk eingestellt ist.\nNachrichten werden \u00fcber diesen Kanal gesendet und nur Nachrichten, die \u00fcber diesen Kanal empfangen werden, werden in die Warteschlange der eingehenden Nachricht aufgenommen. Jeder Schritt ist 1MHz breit, beginnend mit 2400MHz.\n:param power: (default=6) ist ein ganzzahliger Wert von 0 bis 7 (einschlie\u00dflich), der die St\u00e4rke des Signals angibt, das beim Senden einer Nachricht verwendet wird. Je h\u00f6her der Wert, desto st\u00e4rker ist das Signal, aber desto mehr Strom wird vom Ger\u00e4t verbraucht. Die Nummerierung entspricht den Positionen in der folgenden Liste von dBm-Werten (Dezibel Milliwatt): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adresse) (default=0x75626974) ein beliebiger Name, ausgedr\u00fcckt als 32-Bit-Adresse, der verwendet wird, um eingehende Pakete auf der Hardware-Ebene zu filtern und nur diejenigen zu behalten, die mit der eingestellten Adresse \u00fcbereinstimmen. \nDie Standardeinstellung, die von anderen micro:bit-verwandten Plattformen verwendet wird, wird auch hier verwendet.\n:param group: (default=0) ein 8-Bit-Wert (0-255), der zusammen mit ``address`` beim Filtern von Nachrichten verwendet wird. \"address\" ist wie eine Haus-/B\u00fcroadresse und \"group\" ist wie die Person an dieser Adresse, an die die Nachricht gesendet werden soll.\n:param data_rate: (default=``radio.RATE_1MBIT``) zeigt die Geschwindigkeit an, mit der der Datendurchsatz stattfindet.\nKann eine der folgenden Konstanten sein, die im Modul ``radio`` definiert sind: ``RATE_250KBIT``, ``RATE_1MBIT`` oder ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt die Einstellungen auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sendet eine Nachricht bestehend aus Bytes.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Die zu sendenden Bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Empf\u00e4ngt die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopiert die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange in einen Puffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (Puffer) Der Zielpuffer. Die Nachricht wird abgeschnitten, wenn sie gr\u00f6\u00dfer als der Puffer ist.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sendet eine Nachricht als String.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Der zu sendende String.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funktioniert genauso wie ``receive_bytes``, gibt aber zur\u00fcck, was gesendet wurde.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Gibt ein Tupel mit drei Werten zur\u00fcck, die die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange darstellen.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", - "/typeshed/stdlib/random.pyi": "\"\"\"Gibt eine Zufallszahl zur\u00fcck.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Erzeugt einen Integerwert mit ``n`` zuf\u00e4lligen Bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Ein Wert zwischen 1-30 (einschlie\u00dflich).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialisiert den Zufallszahlengenerator.\n\nExample: ``random.seed(0)``\n\n:param n: Der Integer-Seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen ``a`` und ``b`` (einschlie\u00dflich) aus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen Null und ``stop`` (exklusiv) aus.\n\nExample: ``random.randrange(10)``\n\n:param stop: Endwert f\u00fcr den Bereich (exklusiv)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Anfang des Bereichs (inklusiv)\n:param stop: Das Ende des Bereichs (exklusiv)\n:param step: Schrittweite\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus der nicht leeren Sequenz ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Eine Sequenz.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Erzeugt eine zuf\u00e4llige Flie\u00dfkommazahl im Bereich [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Gibt eine zuf\u00e4llige Flie\u00dfkommazahl zwischen ``a`` und ``b`` inklusiv aus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\"\"\"\n ...", - "/typeshed/stdlib/speech.pyi": "\"\"\"Bringe den micro:bit dazu zu Sprechen, zu Singen und andere sprach\u00e4hnliche Ger\u00e4usche zu machen.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u00dcbersetze englische W\u00f6rter in Sprache.\n\nExample: ``speech.translate('hello world')``\n\n:param words: (W\u00f6rter) Ein String englischer W\u00f6rter.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Laute aussprechen.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Die auszusprechenden Phoneme als Zeichenkette\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Sage englische W\u00f6rter (sage)\n\nExample: ``speech.say('hello world')``\n\n:param words: (W\u00f6rter) Der zu sagene String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Singe Phoneme\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Der zu singende String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/radio.pyi": "\"\"\"Kommunikation zwischen micro:bits mit dem integrierten Funk.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 1\\xa0MBit pro Sekunde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 2\\xa0MBit pro Sekunde.\"\"\"\n\ndef on() -> None:\n \"\"\"Schaltet den Funk ein.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet den Funk aus, um Strom und Speicherplatz zu sparen.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguriert den Funk.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) legt die maximale L\u00e4nge einer \u00fcber Funk gesendeten Nachricht in Bytes fest. Sie kann bis zu 251 Bytes lang sein (254 - 3 Bytes f\u00fcr S0, LENGTH und S1-Pr\u00e4ambel).\n:param queue: (default=3) gibt die Anzahl der Nachrichten an, die in der Warteschlange f\u00fcr eingehende Nachrichten gespeichert werden k\u00f6nnen. Wenn in der Warteschlange kein Platz mehr f\u00fcr eingehende Nachrichten ist, wird die eingehende Nachricht verworfen.\n:param channel: (default=7) ein Integer-Wert zwischen 0 und 83 (einschlie\u00dflich), der einen beliebigen \"Kanal\" definiert, auf den der Funk eingestellt ist.\nNachrichten werden \u00fcber diesen Kanal gesendet und nur Nachrichten, die \u00fcber diesen Kanal empfangen werden, werden in die Warteschlange der eingehenden Nachricht aufgenommen. Jeder Schritt ist 1MHz breit, beginnend mit 2400MHz.\n:param power: (default=6) ist ein ganzzahliger Wert von 0 bis 7 (einschlie\u00dflich), der die St\u00e4rke des Signals angibt, das beim Senden einer Nachricht verwendet wird. Je h\u00f6her der Wert, desto st\u00e4rker ist das Signal, aber desto mehr Strom wird vom Ger\u00e4t verbraucht. Die Nummerierung entspricht den Positionen in der folgenden Liste von dBm-Werten (Dezibel Milliwatt): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adresse) (default=0x75626974) ein beliebiger Name, ausgedr\u00fcckt als 32-Bit-Adresse, der verwendet wird, um eingehende Pakete auf der Hardware-Ebene zu filtern und nur diejenigen zu behalten, die mit der eingestellten Adresse \u00fcbereinstimmen. \nDie Standardeinstellung, die von anderen micro:bit-verwandten Plattformen verwendet wird, wird auch hier verwendet.\n:param group: (default=0) ein 8-Bit-Wert (0-255), der zusammen mit ``address`` beim Filtern von Nachrichten verwendet wird. \"address\" ist wie eine Haus-/B\u00fcroadresse und \"group\" ist wie die Person an dieser Adresse, an die die Nachricht gesendet werden soll.\n:param data_rate: (default=``radio.RATE_1MBIT``) zeigt die Geschwindigkeit an, mit der der Datendurchsatz stattfindet.\nKann eine der folgenden Konstanten sein, die im Modul ``radio`` definiert sind: ``RATE_250KBIT``, ``RATE_1MBIT`` oder ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt die Einstellungen auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sendet eine Nachricht bestehend aus Bytes.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Die zu sendenden Bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Empf\u00e4ngt die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopiert die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange in einen Puffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (Puffer) Der Zielpuffer. Die Nachricht wird abgeschnitten, wenn sie gr\u00f6\u00dfer als der Puffer ist.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sendet eine Nachricht als String.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Der zu sendende String.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funktioniert genauso wie ``receive_bytes``, gibt aber zur\u00fcck, was gesendet wurde.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Gibt ein Tupel mit drei Werten zur\u00fcck, die die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange darstellen.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Zufallszahlen generieren.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Erzeugt einen Integerwert mit ``n`` zuf\u00e4lligen Bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Ein Wert zwischen 1-30 (einschlie\u00dflich).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialisiert den Zufallszahlengenerator.\n\nExample: ``random.seed(0)``\n\n:param n: Der Integer-Seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen ``a`` und ``b`` (einschlie\u00dflich) aus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen Null und ``stop`` (exklusiv) aus.\n\nExample: ``random.randrange(10)``\n\n:param stop: Endwert f\u00fcr den Bereich (exklusiv)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Anfang des Bereichs (inklusiv)\n:param stop: Das Ende des Bereichs (exklusiv)\n:param step: Schrittweite\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus der nicht leeren Sequenz ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Eine Sequenz.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Erzeugt eine zuf\u00e4llige Flie\u00dfkommazahl im Bereich [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Gibt eine zuf\u00e4llige Flie\u00dfkommazahl zwischen ``a`` und ``b`` inklusiv aus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Bringe den micro:bit zum Sprechen, singen und dazu, andere sprach\u00e4hnliche Ger\u00e4usche zu machen.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u00dcbersetzt englische W\u00f6rter in Sprache.\n\nExample: ``speech.translate('hello world')``\n\n:param words: (W\u00f6rter) Ein String englischer W\u00f6rter.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Spricht Laute aus.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Die auszusprechende Laut als Zeichenkette.\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Sage englische W\u00f6rter (sage)\n\nExample: ``speech.say('hello world')``\n\n:param words: (W\u00f6rter) Der zu sagene String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Singt Laute.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Der zu singende String.\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", "/typeshed/stdlib/struct.pyi": "\"\"\"Packe und entpacke primitive Datentypen. (struktur)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Rufe die Anzahl der ben\u00f6tigten Bytes ab, um den angegebenen ``fmt`` zu speichern.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Ein Format-String.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Werte nach einem Format-String packen. (packen)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Werte nach einem Format-String packen. (packen in)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Buffer, in den geschrieben werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Daten nach einem Format-String entpacken.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param data: (Daten) Die Daten.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Daten aus einem Puffer nach einem Format-String entpacken. (entpacken von)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Quellpuffer, von dem gelesen werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:return: A tuple of the unpacked values.\"\"\"\n ...", - "/typeshed/stdlib/sys.pyi": "\"\"\"Systemspezifische Funktionen\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Ein Programm mit dem gegebenen Exit-Code beenden.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Der Exit-Code oder die Nachricht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Eine Ausnahme mit einem Traceback ausgeben. (Ausnahme ausgeben)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Die auszugebende Ausnahme\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Argumenten, mit denen das aktuelle Programm gestartet wurde.\"\"\"\nbyteorder: str\n\"\"\"Die Byte-Reihenfolge des Systems (``\"little\"`` oder ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objekt mit Informationen \u00fcber die aktuelle Python-Implementierung. (Implementierung)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximaler Wert, den ein nativer Integer-Typ auf der aktuellen Plattform halten kann, oder maximaler Wert, der durch den MicroPython-Integer-Typ darstellbar ist, wenn er kleiner ist als der maximale Plattformwert (das ist der Fall bei MicroPython-Ports ohne \"long int\"-Unterst\u00fctzung).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"W\u00f6rterbuch der geladenen Module. (module) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Verzeichnissen zum Suchen nach importierten Modulen.\"\"\"\nplatform: str\n\"\"\"Die Plattform, auf der MicroPython l\u00e4uft. (plattform) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python-Sprachversion, der diese Implementierung als String entspricht. (Version)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python-Sprachversion, der diese Implementierung als Tuple mit Ints entspricht. (Versionsinformationen)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", + "/typeshed/stdlib/sys.pyi": "\"\"\"Systemspezifische Funktionen\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Beendet ein Programm mit dem gegeneben Exit-Code.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Der Exit-Code oder die Nachricht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Eine Ausnahme mit einem Traceback ausgeben. (Ausnahme ausgeben)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Die auszugebende Ausnahme\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Argumenten, mit denen das aktuelle Programm gestartet wurde.\"\"\"\nbyteorder: str\n\"\"\"Die Byte-Reihenfolge des Systems (``\"little\"`` oder ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objekt mit Informationen \u00fcber die aktuelle Python-Implementierung. (Implementierung)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximaler Wert, den ein nativer Integer-Typ auf der aktuellen Plattform halten kann, oder maximaler Wert, der durch den MicroPython-Integer-Typ darstellbar ist, wenn er kleiner ist als der maximale Plattformwert (das ist der Fall bei MicroPython-Ports ohne \"long int\"-Unterst\u00fctzung).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"W\u00f6rterbuch der geladenen Module. (module) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Verzeichnissen zum Suchen nach importierten Modulen.\"\"\"\nplatform: str\n\"\"\"Die Plattform, auf der MicroPython l\u00e4uft. (plattform) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python-Sprachversion, der diese Implementierung als String entspricht. (Version)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python-Sprachversion, der diese Implementierung als Tuple mit Ints entspricht. (Versionsinformationen)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Messe Zeit und f\u00fcge Verz\u00f6gerung zu Programmen hinzu. (Zeit)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Warte eine bestimmte Zahl in Sekunden.\n\nExample: ``time.sleep(1)``\n\n:param seconds: (sekunden) Die Anzahl der Sekunden f\u00fcr die der Ruhezustand angezeigt wird.\nBenutze eine Gleitkommazahl f\u00fcr eine Bruchzahl von Sekunden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Millisekunden. (schlafe ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Die Anzahl der zu wartenden Millisekunden (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Mikrosekunden.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Die Anzahl der zu wartenden Mikrosekunden (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Holt einen ansteigenden Millisekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Holt einen ansteigenden Mikrosekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Versetzt den Tick-Wert um eine bestimmte Zahl, die entweder positiv oder negativ sein kann.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Ein Tick-Wert\n:param delta: Ein ganzzahliger Offset\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Messung der Ticks-Differenz zwischen den Werten, die von ``time.ticks_ms()`` oder ``ticks_us()`` zur\u00fcckgegeben werden, als vorzeichenbehafteter Wert der umgeschlagen werden kann.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Der zu subtrahierende Wert von\n:param ticks2: Der zu subtrahierende Wert\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", + "/typeshed/stdlib/time.pyi": "\"\"\"Miss Zeit und f\u00fcge Verz\u00f6gerung zu Programmen hinzu. (Zeit)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Warte eine bestimmte Zahl in Sekunden.\n\nExample: ``time.sleep(1)``\n\n:param seconds: (sekunden) Die Anzahl der Sekunden f\u00fcr die der Ruhezustand angezeigt wird.\nBenutze eine Gleitkommazahl f\u00fcr eine Bruchzahl von Sekunden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Millisekunden. (schlafe ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Die Anzahl der zu wartenden Millisekunden (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Mikrosekunden.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Die Anzahl der zu wartenden Mikrosekunden (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Holt einen ansteigenden Millisekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Holt einen ansteigenden Mikrosekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Versetzt den Tick-Wert um eine bestimmte Zahl, die entweder positiv oder negativ sein kann.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Ein Tick-Wert\n:param delta: Ein ganzzahliger Offset\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Messung der Ticks-Differenz zwischen den Werten, die von ``time.ticks_ms()`` oder ``ticks_us()`` zur\u00fcckgegeben werden, als vorzeichenbehafteter Wert der umgeschlagen werden kann.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Der zu subtrahierende Wert von\n:param ticks2: Der zu subtrahierende Wert\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -34,18 +34,18 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, Bilder, T\u00f6ne, Temperatur und Lautst\u00e4rke.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plant die Ausf\u00fchrung einer Funktion in dem durch die Zeitargumente festgelegten Intervall **nur V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funktion, die in dem angegebenen Intervall aufgerufen wird. Bei Verwendung als Dekorator weglassen.\n:param days: Legt den Tag f\u00fcr die Planung fest.\n:param h: Legt die Uhrzeit f\u00fcr die Planung fest.\n:param min: Legt die Minute f\u00fcr die Planung fest.\n:param s: Legt die Sekunde f\u00fcr die Planung fest.\n:param ms: Legt die Millisekunde f\u00fcr die Planung fest.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"In einen Panik-Modus wechseln.\n\nExample: ``panic(127)``\n\n:param n: Eine beliebige ganze Zahl <= 255, um einen Status anzugeben.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Board neu starten.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konvertiert einen Wert aus einem Bereich in einen Ganzzahlenbereich.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (wert) Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konvertiert einen Wert von einem Bereich in einen Gleitkommabereich.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Warte auf ``n`` Millisekunden.\n\nExample: ``sleep(1000)``\n\n:param n: Die Anzahl der zu wartenden Millisekunden\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Ermittelt die Laufzeit des Boards.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Ermittelt die Temperatur des micro:bit in Grad Celcius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Legt die Lautst\u00e4rke fest.\n\nExample: ``set_volume(127)``\n\n:param v: ein Wert zwischen 0 (niedrig) und 255 (hoch).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Die Klasse f\u00fcr die Tasten ``button_a`` und ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste gedr\u00fcckt ist.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste seit dem Start des Ger\u00e4ts oder dem letzten Aufruf dieser Methode gedr\u00fcckt wurde.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Ermittelt die Gesamtzahl der Tastendr\u00fccke und setzt diese Summe auf Null zur\u00fcck, bevor sie zur\u00fcckgegeben wird.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Das ``Button``-Objekt der linken Taste.\"\"\"\nbutton_b: Button\n\"\"\"Das ``Button``-Objekt der rechten Taste.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Ein digitaler Pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Ermittelt den digitalen Wert des Pins.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stellt den digitalen Wert des Pins ein. (digital schreiben)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (wert) 1, um den Pin zu aktivieren, oder 0, um den Pin zu deaktivieren\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Setze den Status des Pull-Widerstands auf einen von drei m\u00f6glichen Werten: ``PULL_UP``, ``PULL_DOWN`` oder ``NO_PULL``. (setze Pull-Widerstand)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (wert) Der Status des Pull-Widerstands vom relevanten Pin, z.B. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Abrufen des Status des Pull-Widerstands eines Pins. (gib Pull-Widerstand)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Gibt den Pin-Modus zur\u00fcck. (gib Pin-Modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Erzeugt ein PWM-Signal am Pin mit der Einschaltdauer proportional zu ``value``. (analog schreiben)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (wert) Eine Ganzzahl oder eine Gleitpunktzahl zwischen 0 (0% Einschaltdauer) und 1023 (100% Einschaltdauer).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Setzt die Periodendauer des PWM-Signals, das ausgegeben wird, auf ``period`` in Millisekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (Periodendauer) Der Periodendauer in Millisekunden mit einem Mindestwert von 1ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Setze die Periodendauer f\u00fcr die Ausgabe des PWM-Signals auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (Periodendauer) Die Periodendauer in Mikrosekunden mit einem Mindestwert von 256\u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Ein Pin, der analogen und digitalen Signale erlaubt.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Einlesen der Spannung, die am Pin anliegt. (analog lesen)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Ein Pin mit analogen, digitalen und Touchfunktionen.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob der Pin ber\u00fchrt wird. (wird ber\u00fchrt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Legt den Touchmodus f\u00fcr den Pin fest. (definiert Ber\u00fchrungsmodus)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (wert) ``CAPACITIVE`` oder ``RESISTIVE`` Touchmodus des entsprechenden Pins.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Ein ber\u00fchrungsempfindlicher Logo-Pin auf der Vorderseite des micro:bit, der standardm\u00e4\u00dfig auf den kapazitiven Touch-Modus eingestellt ist.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Ein Pin zur Ansteuerung des micro:bit Lautsprechers.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Ein Bild, das auf dem micro:bit LED-Display angezeigt werden soll.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Herz-Bild.\"\"\"\n HEART_SMALL: Image\n \"\"\"Kleines Herz-Bild.\"\"\"\n HAPPY: Image\n \"\"\"Gl\u00fcckliches Gesichtsbild.\"\"\"\n SMILE: Image\n \"\"\"L\u00e4chelndes Gesichtsbild.\"\"\"\n SAD: Image\n \"\"\"Trauriges Gesichtsbild.\"\"\"\n CONFUSED: Image\n \"\"\"Verwirrtes Gesichtsbild.\"\"\"\n ANGRY: Image\n \"\"\"W\u00fctendes Gesichtsbild.\"\"\"\n ASLEEP: Image\n \"\"\"Schlafendes Gesichtsbild.\"\"\"\n SURPRISED: Image\n \"\"\"\u00dcberraschtes Gesichtsbild.\"\"\"\n SILLY: Image\n \"\"\"Albernes Gesichtsbild.\"\"\"\n FABULOUS: Image\n \"\"\"Bild mit Sonnenbrillengesicht. (fabelhaft)\"\"\"\n MEH: Image\n \"\"\"Gleichg\u00fcltiges Gesicht Bild.\"\"\"\n YES: Image\n \"\"\"abgehakt-Bild\"\"\"\n NO: Image\n \"\"\"angekreuzt-Bild\"\"\"\n CLOCK12: Image\n \"\"\"Bild mit Linie, die auf 12 Uhr zeigt.\"\"\"\n CLOCK11: Image\n \"\"\"Bild mit Linie, die auf 11 Uhr zeigt.\"\"\"\n CLOCK10: Image\n \"\"\"Bild mit Linie, die auf 10 Uhr zeigt.\"\"\"\n CLOCK9: Image\n \"\"\"Bild mit Linie, die auf 9 Uhr zeigt.\"\"\"\n CLOCK8: Image\n \"\"\"Bild mit Linie, die auf 8 Uhr zeigt.\"\"\"\n CLOCK7: Image\n \"\"\"Bild mit Linie, die auf 7 Uhr zeigt.\"\"\"\n CLOCK6: Image\n \"\"\"Bild mit Linie, die auf 6 Uhr zeigt.\"\"\"\n CLOCK5: Image\n \"\"\"Bild mit Linie, die auf 5 Uhr zeigt.\"\"\"\n CLOCK4: Image\n \"\"\"Bild mit Linie, die auf 4 Uhr zeigt.\"\"\"\n CLOCK3: Image\n \"\"\"Bild mit Linie, die auf 3 Uhr zeigt.\"\"\"\n CLOCK2: Image\n \"\"\"Bild mit Linie, die auf 2 Uhr zeigt.\"\"\"\n CLOCK1: Image\n \"\"\"Bild mit Linie, die auf 1 Uhr zeigt.\"\"\"\n ARROW_N: Image\n \"\"\"Bild eines Pfeils, der nach Norden zeigt.\"\"\"\n ARROW_NE: Image\n \"\"\"Bild eines Pfeils, der nach Nordosten zeigt.\"\"\"\n ARROW_E: Image\n \"\"\"Bild eines Pfeils, der nach Osten zeigt.\"\"\"\n ARROW_SE: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdosten zeigt.\"\"\"\n ARROW_S: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcden zeigt.\"\"\"\n ARROW_SW: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdwesten zeigt.\"\"\"\n ARROW_W: Image\n \"\"\"Bild eines Pfeils, der nach Westen zeigt.\"\"\"\n ARROW_NW: Image\n \"\"\"Bild eines Pfeils, der nach Nordwesten zeigt.\"\"\"\n TRIANGLE: Image\n \"\"\"Bild eines Dreiecks, das nach oben zeigt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Bild eines Dreiecks in der linken Ecke.\"\"\"\n CHESSBOARD: Image\n \"\"\"Abwechselnd leuchtende LEDs in einem Schachbrettmuster.\"\"\"\n DIAMOND: Image\n \"\"\"Diamant-Bild.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleines Diamant-Bild.\"\"\"\n SQUARE: Image\n \"\"\"Quadrat-Bild\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleines Quadrat-Bild.\"\"\"\n RABBIT: Image\n \"\"\"Kaninchen-Bild.\"\"\"\n COW: Image\n \"\"\"Kuh-Bild.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Viertelnoten-Bild.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Achtelnoten-Bild.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Achtelnotenpaar-Bild.\"\"\"\n PITCHFORK: Image\n \"\"\"Heugabel-Bild\"\"\"\n XMAS: Image\n \"\"\"Weihnachtsbaum-Bild.\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man Spielfigurenbild.\"\"\"\n TARGET: Image\n \"\"\"Ziel-Bild\"\"\"\n TSHIRT: Image\n \"\"\"T-Shirt-Bild.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rollerskate-Bild.\"\"\"\n DUCK: Image\n \"\"\"Ente-Bild\"\"\"\n HOUSE: Image\n \"\"\"Haus-Bild\"\"\"\n TORTOISE: Image\n \"\"\"Schildkr\u00f6te-Bild\"\"\"\n BUTTERFLY: Image\n \"\"\"Schmetterling-Bild.\"\"\"\n STICKFIGURE: Image\n \"\"\"Strichm\u00e4nnchen-Bild.\"\"\"\n GHOST: Image\n \"\"\"Geist-Bild.\"\"\"\n SWORD: Image\n \"\"\"Schwert-Bild\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe-Bild.\"\"\"\n SKULL: Image\n \"\"\"Sch\u00e4del-Bild.\"\"\"\n UMBRELLA: Image\n \"\"\"Bild eines Schirms.\"\"\"\n SNAKE: Image\n \"\"\"Bild einer Schlange. (Schlange)\"\"\"\n SCISSORS: Image\n \"\"\"BIld einer Schere. (Schere)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Eine Liste mit allen CLOCK_ Bildern. (alle Uhren)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Eine Liste mit allen ARROW_ Bildern. (alle Pfeile)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Erstellen Sie ein Bild aus einer Zeichenkette, die beschreibt, welche LEDs leuchten.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (Zeichenkette) Eine Zeichenkette, die das Bild beschreibt.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Erstelle ein leeres Bild mit ``width`` Spalten und ``height`` Zeilen.\n\n:param width: (Breite) Optionale Breite des Bildes\n:param height: (H\u00f6he) Optionale H\u00f6he des Bildes\n:param buffer: (Puffer) Optionales Array oder Bytes von ``width``\u00d7``height`` Ganzzahlen im Bereich 0-9 um das Bild zu initialisieren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ermittelt die Anzahl der Spalten. (Breite)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Ermittelt die Anzahl der Zeilen. (H\u00f6he)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Legt die Helligkeit eines Pixels fest. (Pixelwerte setzen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:param value: (wert) Die Helligkeit als Ganzzahl zwischen 0 (dunkel) und 9 (hell)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Ermittle die Helligkeit eines Pixels. (Pixelwerte holen)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach links verschieben. (links verschieben)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach rechts verschieben. (rechts verschieben)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach oben verschoben wird. (nach oben verschieben)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem Sie das Bild nach unten verschoben wird. (nach unten verschieben)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem das Bild zugeschnitten wird.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Die Offset-Spalte des Zuschneidens\n:param y: Die Offset-Zeile des Zuschneidens\n:param w: Die Zuschneide-Breite\n:param h: Die Zuschneide-H\u00f6he\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Erstellt eine exakte Kopie des Bildes. (kopieren)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Erstellt ein neues Bild, indem es die Helligkeit der Pixel des Ausgangsbildes invertiert.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Legt die Helligkeit f\u00fcr alle Pixel des Bildes fest.\n\nExample: ``my_image.fill(5)``\n\n:param value: Die neue Helligkeit als Zahl zwischen 0 (dunkel) und 9 (hell).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopiert einen Bereich aus einem anderen Bild in dieses Bild.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Das Ausgangsbild\n:param x: Der Anfangsspalten-Offset im Ausgangsbild\n:param y: Der Anfangszeilen-Offset im Ausgangsbild\n:param w: Die Anzahl der zu kopierenden Spalten\n:param h: Die Anzahl der zu kopierenden Zeilen\n:param xdest: Der Spalten-Offset, der in diesem Bild ge\u00e4ndert werden soll\n:param ydest: Der Zeilen-Offset, der in diesem Bild ge\u00e4ndert werden soll\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Liefert eine kompakte Stringrepr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Liefert eine lesbare String-Repr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder addiert werden.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Das zu addierende Bild.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder subtrahiert werden.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Das zu subtrahierende Bild.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels mit ``n`` multipliziert wird.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Der Wert, mit dem multipliziert werden soll.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels durch ``n`` dividiert wird.\n\nExample: ``Image.HEART / 2``\n\n:param n: Der Wert, durch den dividiert werden soll.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Stellt den \u00dcbergang von Klangereignissen von ``quiet`` auf ``loud`` dar; wie beim Klatschen oder Rufen.\"\"\"\n QUIET: SoundEvent\n \"\"\"Stellt den \u00dcbergang von akustischen Ereignissen, wie Sprechen oder Hintergrundmusik, von ``loud`` zu ``quiet`` dar. (stumm)\"\"\"\n\nclass Sound:\n \"\"\"Die eingebauten Kl\u00e4nge k\u00f6nnen mit ``audio.play(Sound.NAME)`` aufgerufen werden.\"\"\"\n GIGGLE: Sound\n \"\"\"Kichern-Sound.\"\"\"\n HAPPY: Sound\n \"\"\"Happy-Sound.\"\"\"\n HELLO: Sound\n \"\"\"Begr\u00fc\u00dfung-Sound\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Geheimnisvoll-Sound\"\"\"\n SAD: Sound\n \"\"\"Traurig-Sound.\"\"\"\n SLIDE: Sound\n \"\"\"Gleitender Ton.\"\"\"\n SOARING: Sound\n \"\"\"Aufsteigender Klang. (aufsteigend)\"\"\"\n SPRING: Sound\n \"\"\"Springfeder Klang (Sppringfeder)\"\"\"\n TWINKLE: Sound\n \"\"\"Funkeln Klang (Funkeln)\"\"\"\n YAWN: Sound\n \"\"\"G\u00e4hnen Klang\"\"\"", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Messen Sie die Beschleunigung des micro:bit und erkennen Sie Gesten. (Beschleunigungssensor)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``x`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``y`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``z`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Erhalten Sie die Beschleunigungsmessungen in allen Achsen auf einmal als Tupel.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung aller Achsen als positive Ganzzahl. Dies ist die euklidische Summe der X-, Y- und Z-Achsen.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Erhalte den Namen der aktuellen Geste. (derzeitige Geste)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste derzeit aktiv ist. (ist Geste)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste seit dem letzten Aufruf aktiv war. (war Geste)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Gibt ein Tupel der vergangenen Gesten zur\u00fcck.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Legen Sie den Bereich des Beschleunigungsmessers in g (Fallbeschleunigung) auf den n\u00e4chstgelegenen Wert fest, welcher von der Hardware unterst\u00fctzt wird. Diese sind ``2``, ``4``oder ``8`` g. (Bereich einstellen)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (wert) Neuer Bereich f\u00fcr den Beschleunigungssensor, eine Ganzzahl in ``g``.\"\"\"", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"T\u00f6ne mit dem micro:bit abspielen (Importiere ``audio`` f\u00fcr V1-Kompatibilit\u00e4t). (Audio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Wiedergeben eines eingebauten Sounds, Soundeffekts oder benutzerdefinierten Aufnahme .\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (Quelle) Ein eingebauter ``Sound`` wie ``Sound.GIGGLE``, ein ``SoundEffect`` oder Beispieldaten als Teil eines ``AudioFrame`` Objekts.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion blockiert, bis der Klang abgeschlossen ist.\n:param pin: Ein optionales Argument f\u00fcr den Ausgabepin kann angegeben werden, um die Standardeinstellung von ``pin0``zu \u00fcberschreiben. Wenn kein Ton wiedergegeben werden soll, kann ``pin=None`` verwendet werden.\n:param return_pin: Bestimmt einen Pin, mit dem der externen Lautsprecher anstatt mit Ground verbunden wird. Dies wird bei der **V2** Revision ignoriert.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob ein Ton abgespielt wird. (spielt gerade)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stoppe jede Audio-Wiedergabe. (Stop)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Ein Soundeffekt, zusammengestellt aus einer Reihe von Parametern, die \u00fcber den Konstruktor oder durch Attribute konfiguriert werden.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sinuswelle als Parameter f\u00fcr ``waveform``. (Sinuswelle)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"S\u00e4gezahnkurve als Parameter f\u00fcr ``waveform``. (S\u00e4gezahnkurve)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Dreiecksignal als Parameter f\u00fcr ``waveform``. (Dreiecksignal)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Rechtecksignal als Parameter f\u00fcr ``waveform``. (Rechtecksignal)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Rauschsignal als Parameter f\u00fcr ``waveform``. (Rauschsignal)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineare Interpolation als Parameter f\u00fcr ``shape``. (lineare Interpolation)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Kurven-Interpolation als Parameter f\u00fcr ``shape``. (geschwungene Kurve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmische Interpolation als Parameter f\u00fcr ``shape``. (logarithmische Interpolation)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Kein Effekt f\u00fcr ``fx`` verwendet. (kein fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo-Effekt als Parameter f\u00fcr ``fx``. (fx Tremolo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato-Effekt als Parameter f\u00fcr ``fx``. (fx Vibrato)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Triller-Effekt als Parameter f\u00fcr ``fx``. (fx Trillereffekt)\"\"\"\n freq_start: int\n \"\"\"Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Startfrequenz)\"\"\"\n freq_end: int\n \"\"\"Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Endfrequenz)\"\"\"\n duration: int\n \"\"\"Dauer des Klangs in Millisekunden, eine Zahl zwischen ``0`` und ``9999`` (Dauer)\"\"\"\n vol_start: int\n \"\"\"Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255`` (vol Start)\"\"\"\n vol_end: int\n \"\"\"Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255`` (vol Ende)\"\"\"\n waveform: int\n \"\"\"Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch)\"\"\"\n fx: int\n \"\"\"Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Erstelle einen neuen Soundeffekt.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (Startfrequenz) Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param freq_end: (Endfrequenz) Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param duration: (Dauer) Dauer des Tons in Millisekunden, eine Zahl zwischen ``0`` und ``9999``.\n:param vol_start: (vol Start) Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255``.\n:param vol_end: (vol Ende) Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255``.\n:param waveform: Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch).\n:param fx: Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``.\n:param shape: Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Erstelle eine Kopie dieses ``SoundEffect``. (kopieren)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Ein ``AudioFrame``-Objekt ist eine Liste von 32 Samples, von denen jedes ein vorzeichenloses Byte ist \n(ganze Zahl zwischen 0 und 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00dcberschreibe die Daten in diesem ``AudioFrame`` mit den Daten einer anderen ``AudioFrame`` Instanz.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` Instanz von der die Daten kopiert werden sollen.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Benutze den eingebauten Kompass. (Kompass)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Startet den Kalibrierungsprozess.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u00dcberpr\u00fcfe, dass der Kompass kalibriert ist. (ist kalibriert)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Setzt die Kalibrierung zur\u00fcck, sodass der Kompass nicht mehr kalibriert ist.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``x``-Achse.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``y``-Achse.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``z``-Achse.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Ermittle die Kompassrichtung. (Ausrichtung)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Ermittle die Gr\u00f6\u00dfe des Magnetfelds um das Ger\u00e4t herum.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Texte, Bilder und Animationen auf dem 5x5 LED-Display anzeigen. (Display)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Ermittelt die Helligkeit der LED in Spalte ``x`` und Zeile ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stellt die Helligkeit der LED in Spalte ``x`` und Zeile ``y`` ein.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:param value: Die Helligkeit zwischen 0 (aus) und 9 (am hellsten)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Setzt die Helligkeit aller LEDs auf 0 (aus).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Zeigt Bilder, Buchstaben oder Ziffern auf der LED-Anzeige an.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Eine Zeichenkette, eine Zahl, ein Bild oder eine Liste von Bildern, die angezeigt werden sollen.\n:param delay: Jeder Buchstabe, jede Ziffer oder jedes Bild wird mit einer Verz\u00f6gerung von ``delay`` Millisekunden angezeigt.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm so lange anhalten, bis die Animation beendet ist, andernfalls wird die Animation im Hintergrund ausgef\u00fchrt.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param clear: Wenn ``clear`` ``True`` ist, wird die Anzeige nach Beendigung der Sequenz gel\u00f6scht.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrollt eine Zahl oder einen Text auf dem LED-Display.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: Die zu scrollende Zeichenkette. Wenn ``text`` ein Integer oder Float ist, wird der Text vorher mit ``str()`` in einen String umgewandelt.\n:param delay: Der Parameter ``delay`` bestimmt, wie schnell der Text gescrollt wird.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm anhalten, bis die Animation beendet ist, andernfalls l\u00e4uft die Animation im Hintergrund ab.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param monospace: Wenn ``monospace`` ``True``ist, werden alle Zeichen 5 Pixel breit sein. Zwischen den Zeichen gibt es beim scrollen genau 1 leere Pixelspalte.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Das LED-Display einschalten.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Die LED-Anzeige ausschalten (Deaktivieren des Displays erm\u00f6glicht es dir, die GPIO-Pins f\u00fcr andere Zwecke zu verwenden).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u00dcberpr\u00fcfung, ob die LED-Anzeige aktiviert ist.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Bestimmt die Lichtintensit\u00e4t.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber das I2C-Busprotokoll.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Eine Peripherie neu initialisieren.\n\nExample: ``i2c.init()``\n\n:param freq: Taktfrequenz\n:param sda: ``sda`` Pin (standardm\u00e4\u00dfig 20)\n:param scl: ``scl`` Pin (standardm\u00e4\u00dfig 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scannt den Bus nach Ger\u00e4ten.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Liest Bytes von einem Ger\u00e4t..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param n: Die Anzahl der zu lesenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schreibe Bytes auf ein Ger\u00e4t. (schreiben)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param buf: Ein Puffer mit den zu schreibenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\"\"\"\n ...", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reagiere auf Ton mithilfe des integrierten Mikrofons (nur V2). (Mikrofon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Abrufen des letzten aufgezeichneten Sound-Ereignisses\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfung, ob seit dem letzten Anruf mindestens einmal ein Ger\u00e4usch geh\u00f6rt wurde.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcfe das zuletzt erkannte Sound-Ereignis.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Liefert den Verlauf der Sound-Ereignisse in Form eines Tupels.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Legt den Schwellenwert f\u00fcr ein Sound-Ereignis fest.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Ein Sound-Ereignis, wie ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``.\n:param value: (wert) Der Schwellenwert im Bereich 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Ermittle den Schalldruckpegel. (Lautst\u00e4rke)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Steuere den integrierten Lautsprecher (nur V2). (Lautsprecher)\"\"\"\n\ndef off() -> None:\n \"\"\"Lautsprecher ausschalten.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Lautsprecher einschalten.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibe Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Verbindet mit einem Ger\u00e4t \u00fcber eine serielle Schnittstelle.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Ungerade Parit\u00e4t\"\"\"\nEVEN: int\n\"\"\"Gerade Parit\u00e4t (gerade)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialisiere die serielle Kommunikation.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Baudrate) Die \u00dcbertragungsgeschwindigkeit.\n:param bits: (Bits) Die Gr\u00f6\u00dfe der Bytes die \u00fcbertragen werden. micro:bit unterst\u00fctzt nur 8.\n:param parity: (Parit\u00e4t) Wie Parit\u00e4t gepr\u00fcft wird, ``None``, ``uart.ODD`` oder ``uart.EVEN``.\n:param stop: (Stop) Die Anzahl der Stopbits, muss 1 f\u00fcr micro:bit sein.\n:param tx: Sendepin.\n:param rx: Empfangspin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u00dcberpr\u00fcfen Sie, ob irgendwelche Daten warten.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Bytes lesen.\n\nExample: ``uart.read()``\n\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden so viele Bytes wie m\u00f6glich gelesen.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lese Bytes in ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Der Puffer, in den geschrieben werden soll.\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden ``len(buf)`` Bytes gelesen.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Liest eine Zeile bis zum Zeilenumbruch.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schreibt einen Puffer auf den Bus. (schreiben)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Ein Byte-Objekt oder ein String.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, Bilder, T\u00f6ne, Temperatur und Lautst\u00e4rke.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plant die Ausf\u00fchrung einer Funktion in dem durch die Zeitargumente festgelegten Intervall. **Nur micro:bit\\xa0V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funktion, die in dem angegebenen Intervall aufgerufen wird. Bei Verwendung als Dekorator weglassen.\n:param days: Legt den Tag f\u00fcr die Planung fest.\n:param h: Legt die Uhrzeit f\u00fcr die Planung fest.\n:param min: Legt die Minute f\u00fcr die Planung fest.\n:param s: Legt die Sekunde f\u00fcr die Planung fest.\n:param ms: Legt die Millisekunde f\u00fcr die Planung fest.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"In einen Panik-Modus wechseln.\n\nExample: ``panic(127)``\n\n:param n: Eine beliebige ganze Zahl <= 255, um einen Status anzugeben.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Board neu starten.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konvertiert einen Wert aus einem Bereich in einen Ganzzahlenbereich.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (wert) Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konvertiert einen Wert von einem Bereich in einen Gleitkommabereich.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wartet ``n`` Millisekunden.\n\nExample: ``sleep(1000)``\n\n:param n: Die Anzahl der zu wartenden Millisekunden\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Ermittelt die Laufzeit des Boards.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Ermittelt die Temperatur des micro:bit in Grad Celcius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Legt die Lautst\u00e4rke fest.\n\nExample: ``set_volume(127)``\n\n:param v: ein Wert zwischen 0 (niedrig) und 255 (hoch).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Die Klasse f\u00fcr die Tasten ``button_a`` und ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste gedr\u00fcckt ist.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste seit dem Start des Ger\u00e4ts oder dem letzten Aufruf dieser Methode gedr\u00fcckt wurde.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Ermittelt die Gesamtzahl der Tastendr\u00fccke und setzt diese Summe auf Null zur\u00fcck, bevor sie zur\u00fcckgegeben wird.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Das Objekt ``Button`` der linken Taste.\"\"\"\nbutton_b: Button\n\"\"\"Das Objekt ``Button`` der rechten Taste.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Ein digitaler Pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Ermittelt den digitalen Wert des Pins.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stellt den digitalen Wert des Pins ein. (digital schreiben)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (wert) 1, um den Pin zu aktivieren, oder 0, um den Pin zu deaktivieren\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Setze den Status des Pull-Widerstands auf einen von drei m\u00f6glichen Werten: ``PULL_UP``, ``PULL_DOWN`` oder ``NO_PULL``. (setze Pull-Widerstand)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (wert) Der Status des Pull-Widerstands vom relevanten Pin, z.B. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Abrufen des Status des Pull-Widerstands eines Pins. (gib Pull-Widerstand)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Gibt den Pin-Modus zur\u00fcck. (gib Pin-Modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Gib ein PWM-Signal am Pin aus, bei dem das Verh\u00e4ltnis von An- zu Auszeit proportional zu ``value`` ist. (analog schreiben)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (wert) Eine Ganzzahl oder eine Gleitpunktzahl zwischen 0 (0% Einschaltdauer) und 1023 (100% Einschaltdauer).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Setze die Periodendauer f\u00fcr die Ausgabe des PWM-Signals auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (Periodendauer) Der Periodendauer in Millisekunden mit einem Mindestwert von 1ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Setzt den Zeitraum des PWM-Signals, das ausgegeben wird, auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (Periodendauer) Die Periodendauer in Mikrosekunden mit einem Mindestwert von 256\\xa0\u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Ein Pin, der analogen und digitalen Signale erlaubt.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Einlesen der Spannung, die am Pin anliegt. (analog lesen)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Ein Pin mit analogen, digitalen und Touchfunktionen.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob der Pin ber\u00fchrt wird. (wird ber\u00fchrt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Legt den Ber\u00fchrungsmodus f\u00fcr den Pin fest. (definiert Ber\u00fchrungsmodus)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (wert) ``CAPACITIVE`` oder ``RESISTIVE`` Touchmodus des entsprechenden Pins.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Ein ber\u00fchrungsempfindlicher Logo-Pin auf der Vorderseite des micro:bit, der standardm\u00e4\u00dfig auf den kapazitiven Ber\u00fchrungsmodus eingestellt ist.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Ein Pin zur Ansteuerung des micro:bit-Lautsprechers.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Ein Bild, das auf dem micro:bit LED-Display angezeigt werden soll.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Herz-Bild.\"\"\"\n HEART_SMALL: Image\n \"\"\"Kleines Herz-Bild.\"\"\"\n HAPPY: Image\n \"\"\"Gl\u00fcckliches Gesichtsbild.\"\"\"\n SMILE: Image\n \"\"\"L\u00e4chelndes Gesichtsbild.\"\"\"\n SAD: Image\n \"\"\"Trauriges Gesichtsbild.\"\"\"\n CONFUSED: Image\n \"\"\"Verwirrtes Gesichtsbild.\"\"\"\n ANGRY: Image\n \"\"\"W\u00fctendes Gesichtsbild.\"\"\"\n ASLEEP: Image\n \"\"\"Schlafendes Gesichtsbild.\"\"\"\n SURPRISED: Image\n \"\"\"\u00dcberraschtes Gesichtsbild.\"\"\"\n SILLY: Image\n \"\"\"Albernes Gesichtsbild.\"\"\"\n FABULOUS: Image\n \"\"\"Bild mit Sonnenbrillengesicht. (fabelhaft)\"\"\"\n MEH: Image\n \"\"\"Gleichg\u00fcltiges Gesicht Bild.\"\"\"\n YES: Image\n \"\"\"abgehakt-Bild\"\"\"\n NO: Image\n \"\"\"angekreuzt-Bild\"\"\"\n CLOCK12: Image\n \"\"\"Bild mit Linie, die auf 12 Uhr zeigt.\"\"\"\n CLOCK11: Image\n \"\"\"Bild mit Linie, die auf 11 Uhr zeigt.\"\"\"\n CLOCK10: Image\n \"\"\"Bild mit Linie, die auf 10 Uhr zeigt.\"\"\"\n CLOCK9: Image\n \"\"\"Bild mit Linie, die auf 9 Uhr zeigt.\"\"\"\n CLOCK8: Image\n \"\"\"Bild mit Linie, die auf 8 Uhr zeigt.\"\"\"\n CLOCK7: Image\n \"\"\"Bild mit Linie, die auf 7 Uhr zeigt.\"\"\"\n CLOCK6: Image\n \"\"\"Bild mit Linie, die auf 6 Uhr zeigt.\"\"\"\n CLOCK5: Image\n \"\"\"Bild mit Linie, die auf 5 Uhr zeigt.\"\"\"\n CLOCK4: Image\n \"\"\"Bild mit Linie, die auf 4 Uhr zeigt.\"\"\"\n CLOCK3: Image\n \"\"\"Bild mit Linie, die auf 3 Uhr zeigt.\"\"\"\n CLOCK2: Image\n \"\"\"Bild mit Linie, die auf 2 Uhr zeigt.\"\"\"\n CLOCK1: Image\n \"\"\"Bild mit Linie, die auf 1 Uhr zeigt.\"\"\"\n ARROW_N: Image\n \"\"\"Bild eines Pfeils, der nach Norden zeigt.\"\"\"\n ARROW_NE: Image\n \"\"\"Bild eines Pfeils, der nach Nordosten zeigt.\"\"\"\n ARROW_E: Image\n \"\"\"Bild eines Pfeils, der nach Osten zeigt.\"\"\"\n ARROW_SE: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdosten zeigt.\"\"\"\n ARROW_S: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcden zeigt.\"\"\"\n ARROW_SW: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdwesten zeigt.\"\"\"\n ARROW_W: Image\n \"\"\"Bild eines Pfeils, der nach Westen zeigt.\"\"\"\n ARROW_NW: Image\n \"\"\"Bild eines Pfeils, der nach Nordwesten zeigt.\"\"\"\n TRIANGLE: Image\n \"\"\"Bild eines Dreiecks, das nach oben zeigt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Bild eines Dreiecks in der linken Ecke.\"\"\"\n CHESSBOARD: Image\n \"\"\"Abwechselnd leuchtende LEDs in einem Schachbrettmuster.\"\"\"\n DIAMOND: Image\n \"\"\"Diamant-Bild.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleines Diamant-Bild.\"\"\"\n SQUARE: Image\n \"\"\"Quadrat-Bild\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleines Quadrat-Bild.\"\"\"\n RABBIT: Image\n \"\"\"Kaninchen-Bild.\"\"\"\n COW: Image\n \"\"\"Kuh-Bild.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Viertelnoten-Bild.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Achtelnoten-Bild.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Achtelnotenpaar-Bild.\"\"\"\n PITCHFORK: Image\n \"\"\"Heugabel-Bild\"\"\"\n XMAS: Image\n \"\"\"Weihnachtsbaum-Bild.\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man Spielfigurenbild.\"\"\"\n TARGET: Image\n \"\"\"Ziel-Bild\"\"\"\n TSHIRT: Image\n \"\"\"T-Shirt-Bild.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rollerskate-Bild.\"\"\"\n DUCK: Image\n \"\"\"Ente-Bild\"\"\"\n HOUSE: Image\n \"\"\"Haus-Bild\"\"\"\n TORTOISE: Image\n \"\"\"Schildkr\u00f6te-Bild\"\"\"\n BUTTERFLY: Image\n \"\"\"Schmetterling-Bild.\"\"\"\n STICKFIGURE: Image\n \"\"\"Strichm\u00e4nnchen-Bild.\"\"\"\n GHOST: Image\n \"\"\"Geist-Bild.\"\"\"\n SWORD: Image\n \"\"\"Schwert-Bild\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe-Bild.\"\"\"\n SKULL: Image\n \"\"\"Sch\u00e4del-Bild.\"\"\"\n UMBRELLA: Image\n \"\"\"Bild eines Schirms.\"\"\"\n SNAKE: Image\n \"\"\"Bild einer Schlange. (Schlange)\"\"\"\n SCISSORS: Image\n \"\"\"BIld einer Schere. (Schere)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Eine Liste mit allen CLOCK_ Bildern. (alle Uhren)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Eine Liste mit allen ARROW_ Bildern. (alle Pfeile)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Erstellt ein Bild aus einer Zeichenkette, die beschreibt, welche LEDs leuchten.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (Zeichenkette) Eine Zeichenkette, die das Bild beschreibt.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Erstelle ein leeres Bild mit ``width`` Spalten und ``height`` Zeilen.\n\n:param width: (Breite) Optionale Breite des Bildes\n:param height: (H\u00f6he) Optionale H\u00f6he des Bildes\n:param buffer: (Puffer) Optionales Array oder Bytes von ``width``\u00d7``height`` Ganzzahlen im Bereich 0-9 um das Bild zu initialisieren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ermittelt die Anzahl der Spalten. (Breite)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Ermittelt die Anzahl der Zeilen. (H\u00f6he)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Legt die Helligkeit eines Pixels fest. (Pixelwerte setzen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:param value: (wert) Die Helligkeit als Ganzzahl zwischen 0 (dunkel) und 9 (hell)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Ermittle die Helligkeit eines Pixels. (Pixelwerte holen)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach links verschoben wird. (links verschieben)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach rechts verschoben wird. (rechts verschieben)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach oben verschoben wird. (nach oben verschieben)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach unten verschoben wird. (nach unten verschieben)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem das Bild zugeschnitten wird.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Die Offset-Spalte des Zuschneidens\n:param y: Die Offset-Zeile des Zuschneidens\n:param w: Die Zuschneide-Breite\n:param h: Die Zuschneide-H\u00f6he\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Erstellt eine exakte Kopie des Bildes. (kopieren)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Erstellt ein neues Bild, indem es die Helligkeit der Pixel des Ausgangsbildes invertiert.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Legt die Helligkeit f\u00fcr alle Pixel des Bildes fest.\n\nExample: ``my_image.fill(5)``\n\n:param value: Die neue Helligkeit als Zahl zwischen 0 (dunkel) und 9 (hell).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopiert einen Bereich aus einem anderen Bild in dieses Bild.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Das Ausgangsbild\n:param x: Der Anfangsspalten-Offset im Ausgangsbild\n:param y: Der Anfangszeilen-Offset im Ausgangsbild\n:param w: Die Anzahl der zu kopierenden Spalten\n:param h: Die Anzahl der zu kopierenden Zeilen\n:param xdest: Der Spalten-Offset, der in diesem Bild ge\u00e4ndert werden soll\n:param ydest: Der Zeilen-Offset, der in diesem Bild ge\u00e4ndert werden soll\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Liefert eine kompakte Stringrepr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Liefert eine lesbare String-Repr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder addiert werden.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Das zu addierende Bild.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder subtrahiert werden.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Das zu subtrahierende Bild.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels mit ``n`` multipliziert wird.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Der Wert, mit dem multipliziert werden soll.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels durch ``n`` dividiert wird.\n\nExample: ``Image.HEART / 2``\n\n:param n: Der Wert, durch den dividiert werden soll.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Stellt den \u00dcbergang von Klangereignissen von ``quiet`` auf ``loud`` dar; wie beim Klatschen oder Rufen.\"\"\"\n QUIET: SoundEvent\n \"\"\"Stellt den \u00dcbergang von akustischen Ereignissen, wie Sprechen oder Hintergrundmusik, von ``loud`` zu ``quiet`` dar. (stumm)\"\"\"\n\nclass Sound:\n \"\"\"Die eingebauten Kl\u00e4nge k\u00f6nnen mit ``audio.play(Sound.NAME)`` aufgerufen werden.\"\"\"\n GIGGLE: Sound\n \"\"\"Kichern-Sound.\"\"\"\n HAPPY: Sound\n \"\"\"Happy-Sound.\"\"\"\n HELLO: Sound\n \"\"\"Begr\u00fc\u00dfung-Sound\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Geheimnisvoll-Sound\"\"\"\n SAD: Sound\n \"\"\"Traurig-Sound.\"\"\"\n SLIDE: Sound\n \"\"\"Gleitender Ton.\"\"\"\n SOARING: Sound\n \"\"\"Aufsteigender Klang. (aufsteigend)\"\"\"\n SPRING: Sound\n \"\"\"Springfeder Klang (Sppringfeder)\"\"\"\n TWINKLE: Sound\n \"\"\"Funkeln Klang (Funkeln)\"\"\"\n YAWN: Sound\n \"\"\"G\u00e4hnen Klang\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Messen Sie die Beschleunigung des micro:bit und erkennen Sie Gesten. (Beschleunigungssensor)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``x`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``y`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``z`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Erhalte die Beschleunigungsmessung in allen Achsen auf einmal als Tupel.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung aller Achsen als positive Ganzzahl. Dies ist die euklidische Summe der x-, y- und z-Achsen.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Erhalte den Namen der aktuellen Geste. (derzeitige Geste)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste derzeit aktiv ist. (ist Geste)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste seit dem letzten Aufruf aktiv war. (war Geste)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Gibt ein Tupel der vergangenen Gesten zur\u00fcck.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Legt den Bereich des Beschleunigungsmessers in g (Fallbeschleunigung) auf den n\u00e4chstgelegenen Wert fest, welcher von der Hardware unterst\u00fctzt wird. Diese sind ``2``, ``4``oder ``8`` g. (Bereich einstellen)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (wert) Neuer Bereich f\u00fcr den Beschleunigungssensor, eine Ganzzahl in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"T\u00f6ne mit dem micro:bit abspielen (Importiere ``audio`` f\u00fcr V1-Kompatibilit\u00e4t). (Audio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Wiedergeben eines eingebauten Sounds, Soundeffekts oder benutzerdefinierten Aufnahme .\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (Quelle) Ein eingebauter ``Sound`` wie ``Sound.GIGGLE``, ein ``SoundEffect`` oder Beispieldaten als Teil eines ``AudioFrame`` Objekts.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion blockiert, bis der Klang abgeschlossen ist.\n:param pin: Ein optionales Argument f\u00fcr den Ausgabepin kann angegeben werden, um die Standardeinstellung von ``pin0``zu \u00fcberschreiben. Wenn kein Ton wiedergegeben werden soll, kann ``pin=None`` verwendet werden.\n:param return_pin: Bestimmt einen Pin, mit dem der externen Lautsprecher anstatt mit Ground verbunden wird. Dies wird bei der **V2** Revision ignoriert.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Ton abgespielt wird. (spielt gerade)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stoppt jede Audio-Wiedergabe. (Stop)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Ein Soundeffekt, zusammengestellt aus einer Reihe von Parametern, die \u00fcber den Konstruktor oder durch Attribute konfiguriert werden.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sinuswelle als Parameter f\u00fcr ``waveform``. (Sinuswelle)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"S\u00e4gezahnkurve als Parameter f\u00fcr ``waveform``. (S\u00e4gezahnkurve)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Dreiecksignal als Parameter f\u00fcr ``waveform``. (Dreiecksignal)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Rechtecksignal als Parameter f\u00fcr ``waveform``. (Rechtecksignal)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Rauschsignal als Parameter f\u00fcr ``waveform``. (Rauschsignal)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineare Interpolation als Parameter f\u00fcr ``shape``. (lineare Interpolation)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Kurven-Interpolation als Parameter f\u00fcr ``shape``. (geschwungene Kurve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmische Interpolation als Parameter f\u00fcr ``shape``. (logarithmische Interpolation)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Kein Effekt f\u00fcr ``fx`` verwendet. (kein fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo-Effekt als Parameter f\u00fcr ``fx``. (fx Tremolo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato-Effekt als Parameter f\u00fcr ``fx``. (fx Vibrato)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Triller-Effekt als Parameter f\u00fcr ``fx``. (fx Trillereffekt)\"\"\"\n freq_start: int\n \"\"\"Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Startfrequenz)\"\"\"\n freq_end: int\n \"\"\"Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Endfrequenz)\"\"\"\n duration: int\n \"\"\"Dauer des Klangs in Millisekunden, eine Zahl zwischen ``0`` und ``9999`` (Dauer)\"\"\"\n vol_start: int\n \"\"\"Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255`` (vol Start)\"\"\"\n vol_end: int\n \"\"\"Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255`` (vol Ende)\"\"\"\n waveform: int\n \"\"\"Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch)\"\"\"\n fx: int\n \"\"\"Effekt, der dem Sound hinzugef\u00fcgt werden soll. M\u00f6gliche Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` oder ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Erstellt einen neuen Soundeffekt.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (Startfrequenz) Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param freq_end: (Endfrequenz) Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param duration: (Dauer) Dauer des Tons in Millisekunden, eine Zahl zwischen ``0`` und ``9999``.\n:param vol_start: (vol Start) Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255``.\n:param vol_end: (vol Ende) Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255``.\n:param waveform: Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch).\n:param fx: Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``.\n:param shape: Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Erstellt eine Kopie dieses ``SoundEffect``. (kopieren)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Ein ``AudioFrame``-Objekt ist eine Liste von 32 Samples, von denen jedes ein vorzeichenloses Byte ist \n(ganze Zahl zwischen 0 und 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00dcberschreibt die Daten in diesem ``AudioFrame`` mit den Daten einer anderen ``AudioFrame``-Instanz.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` Instanz von der die Daten kopiert werden sollen.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Benutze den eingebauten Kompass. (Kompass)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Startet den Kalibrierungsprozess.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u00dcberpr\u00fcft, dass der Kompass kalibriert ist. (ist kalibriert)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Setzt die Kalibrierung zur\u00fcck, sodass der Kompass nicht mehr kalibriert ist.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``x``-Achse.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``y``-Achse.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``z``-Achse.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Ermittelt die Kompassrichtung. (Ausrichtung)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Ermittelt die Gr\u00f6\u00dfe des Magnetfelds um das Ger\u00e4t herum.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Texte, Bilder und Animationen auf dem 5x5 LED-Display anzeigen. (Display)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Ermittelt die Helligkeit der LED in Spalte ``x`` und Zeile ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stellt die Helligkeit der LED in Spalte ``x`` und Zeile ``y`` ein.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:param value: Die Helligkeit zwischen 0 (aus) und 9 (am hellsten)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Setzt die Helligkeit aller LEDs auf 0 (aus).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Zeigt Bilder, Buchstaben oder Ziffern auf der LED-Anzeige an.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Eine Zeichenkette, eine Zahl, ein Bild oder eine Liste von Bildern, die angezeigt werden sollen.\n:param delay: Jeder Buchstabe, jede Ziffer oder jedes Bild wird mit einer Verz\u00f6gerung von ``delay`` Millisekunden angezeigt.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm so lange anhalten, bis die Animation beendet ist, andernfalls wird die Animation im Hintergrund ausgef\u00fchrt.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param clear: Wenn ``clear`` ``True`` ist, wird die Anzeige nach Beendigung der Sequenz gel\u00f6scht.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrollt eine Zahl oder einen Text auf dem LED-Display.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: Die zu scrollende Zeichenkette. Wenn ``text`` ein Integer oder Float ist, wird der Text vorher mit ``str()`` in einen String umgewandelt.\n:param delay: Der Parameter ``delay`` bestimmt, wie schnell der Text gescrollt wird.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm anhalten, bis die Animation beendet ist, andernfalls l\u00e4uft die Animation im Hintergrund ab.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param monospace: Wenn ``monospace`` ``True``ist, werden alle Zeichen 5 Pixel breit sein. Zwischen den Zeichen gibt es beim scrollen genau 1 leere Pixelspalte.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schaltet das LED-Display ein.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet das LED-Display aus (Deaktivieren des Displays erm\u00f6glicht es dir, die GPIO-Pins f\u00fcr andere Zwecke zu verwenden).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die LED-Anzeige aktiviert ist.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Bestimmt die Lichtintensit\u00e4t.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber das I2C-Busprotokoll.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Eine Peripherie neu initialisieren.\n\nExample: ``i2c.init()``\n\n:param freq: Taktfrequenz\n:param sda: ``sda`` Pin (standardm\u00e4\u00dfig 20)\n:param scl: ``scl`` Pin (standardm\u00e4\u00dfig 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scannt den Bus nach Ger\u00e4ten.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Liest Bytes von einem Ger\u00e4t..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param n: Die Anzahl der zu lesenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schreibt Bytes auf ein Ger\u00e4t. (schreiben)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param buf: Ein Puffer mit den zu schreibenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reagiere auf Ton mithilfe des integrierten Mikrofons (nur V2). (Mikrofon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Abrufen des letzten aufgezeichneten Sound-Ereignisses\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob seit dem letzten Anruf mindestens einmal ein Ger\u00e4usch geh\u00f6rt wurde.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcft das zuletzt erkannte Sound-Ereignis.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Liefert den Verlauf der Sound-Ereignisse in Form eines Tupels.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Legt den Schwellenwert f\u00fcr ein Sound-Ereignis fest.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Ein Sound-Ereignis, wie ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``.\n:param value: (wert) Der Schwellenwert im Bereich 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Ermittelt den Schalldruckpegel. (Lautst\u00e4rke)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Steuere den integrierten Lautsprecher (nur V2). (Lautsprecher)\"\"\"\n\ndef off() -> None:\n \"\"\"Schaltet den Lautsprecher aus.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schaltet den Lautsprecher ein.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibt Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Kommunikation mit einem Ger\u00e4t \u00fcber eine serielle Schnittstelle.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Ungerade Parit\u00e4t\"\"\"\nEVEN: int\n\"\"\"Gerade Parit\u00e4t (gerade)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialisiert die serielle Kommunikation.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Baudrate) Die \u00dcbertragungsgeschwindigkeit.\n:param bits: (Bits) Die Gr\u00f6\u00dfe der Bytes die \u00fcbertragen werden. micro:bit unterst\u00fctzt nur 8.\n:param parity: (Parit\u00e4t) Wie Parit\u00e4t gepr\u00fcft wird, ``None``, ``uart.ODD`` oder ``uart.EVEN``.\n:param stop: (Stop) Die Anzahl der Stopbits, muss 1 f\u00fcr micro:bit sein.\n:param tx: Sendepin.\n:param rx: Empfangspin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob irgendwelche Daten warten.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Bytes lesen.\n\nExample: ``uart.read()``\n\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden so viele Bytes wie m\u00f6glich gelesen.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Liest Bytes in ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Der Puffer, in den geschrieben werden soll.\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden ``len(buf)`` Bytes gelesen.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Liest eine Zeile bis zu einem Zeilenumbruch.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schreibt einen Puffer auf den Bus. (schreiben)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Ein Byte-Objekt oder ein String.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.es-es.json b/src/micropython/main/typeshed.es-es.json index d480f3c3f..891665b12 100644 --- a/src/micropython/main/typeshed.es-es.json +++ b/src/micropython/main/typeshed.es-es.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pines, im\u00e1genes, sonidos, temperatura y volumen.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programa la ejecuci\u00f3n de una funci\u00f3n en el intervalo especificado por los argumentos de tiempo **S\u00f3lo V2**. (ejecutar cada)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3n a llamar en el intervalo proporcionado. Omitir cuando se utiliza como un decorador.\n:param days: (d\u00edas) Configura la marca del d\u00eda para la programaci\u00f3n.\n:param h: Configura la marca de la hora para la programaci\u00f3n.\n:param min: Configura la marca de los minutos para la programaci\u00f3n.\n:param s: Configura la segunda marca para la programaci\u00f3n.\n:param ms: Configura la marca de los milisegundos para la programaci\u00f3n.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entra en modo p\u00e1nico (p\u00e1nico)\n\nExample: ``panic(127)``\n\n:param n: Un entero arbitrario <= 255 para indicar un estado.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reiniciar la placa. (restablecer)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convierte un valor de un rango a un rango de n\u00fameros enteros. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convierte un valor de un rango a un rango de punto flotante. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera ``n`` milisegundos. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El n\u00famero de milisegundos a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtiene el tiempo de funcionamiento de la placa. (tiempo de ejecuci\u00f3n)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtiene la temperatura del micro:bit en grados Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Establece el volumen. (configurar volumen)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (bajo) y 255 (alto).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La clase para los botones ``button_a`` y ``button_b``. (bot\u00f3n)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n est\u00e1 pulsado. (est\u00e1 pulsado)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n ha sido pulsado desde que se inci\u00f3 el dispositivo o desde la \u00faltima vez que se llam\u00f3 a este m\u00e9todo. (ha sido pulsado)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtiene el total de pulsaciones sucesivas de un bot\u00f3n y restablece este total\na cero. (total de pulsaciones)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n izquierdo. (bot\u00f3n a)\"\"\"\nbutton_b: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n derecho. (bot\u00f3n b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital. (pin digital microbit)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obtiene el valor digital del pin. (lectura digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Establece el valor digital del pin. (escritura digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 para establecer valor alto en el pin o 0 para valor bajo\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura el estado \"pull\" con uno de los tres valores posibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configurar pull)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) El estado \"pull\" del pin correspondiente, p. ej., ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtiene el estado \"pull\" de un pin. (obtener pull)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Devuelve el modo del pin. (obtener modo)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Env\u00eda una se\u00f1al PWM al pin, con el ciclo de trabajo proporcional a ``value``. (escritura anal\u00f3gica)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un n\u00famero entero o de coma flotante entre 0 (ciclo de trabajo de 0 %) y 1023 (100 %).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` milisegundos. (configurar periodo anal\u00f3gico)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edodo) El per\u00edodo en milisegundos con un valor m\u00ednimo v\u00e1lido de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` microsegundos. (configurar periodo anal\u00f3gico en microsegundos)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edodo) El per\u00edodo en microsegundos con un valor m\u00ednimo v\u00e1lido de 256 \u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas y digitales. (pin digital y anal\u00f3gico microbit)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lee el voltaje aplicado al pin. (lectura anal\u00f3gica)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas, digitales y t\u00e1ctiles. (pin t\u00e1ctil microbit)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprueba si se est\u00e1 tocando el pin. (est\u00e1 tocado)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Establece el modo t\u00e1ctil del pin. (configurar modo t\u00e1ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin correspondiente.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un pin t\u00e1ctil sensible en la parte frontal del micro:bit que por defecto est\u00e1 configurado en modo t\u00e1ctil capacitivo. (pin de logo)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin para dirigirse al altavoz micro:bit. (pin de altavoz)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imagen que se mostrar\u00e1 en la pantalla LED del micro:bit. (imagen)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imagen de un coraz\u00f3n. (coraz\u00f3n)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imagen de un coraz\u00f3n peque\u00f1o. (coraz\u00f3n peque\u00f1o)\"\"\"\n HAPPY: Image\n \"\"\"Imagen de una cara feliz. (feliz)\"\"\"\n SMILE: Image\n \"\"\"Imagen de una cara sonriente. (sonrisa)\"\"\"\n SAD: Image\n \"\"\"Imagen de una cara triste. (triste)\"\"\"\n CONFUSED: Image\n \"\"\"Imagen de una cara confundida. (confundida)\"\"\"\n ANGRY: Image\n \"\"\"Imagen de una cara enfadada. (enfadada)\"\"\"\n ASLEEP: Image\n \"\"\"Imagen de una cara durmiendo. (dormida)\"\"\"\n SURPRISED: Image\n \"\"\"Imagen de una cara sorprendida. (sorprendida)\"\"\"\n SILLY: Image\n \"\"\"Imagen de una cara tonta. (tonta)\"\"\"\n FABULOUS: Image\n \"\"\"Imagen de una cara con gafas de sol. (fabulosa)\"\"\"\n MEH: Image\n \"\"\"Imagen de una cara indiferente. (indiferente)\"\"\"\n YES: Image\n \"\"\"Imagen de verificaci\u00f3n. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imagen de cruz.\"\"\"\n CLOCK12: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 12:00. (reloj12)\"\"\"\n CLOCK11: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 11:00. (reloj11)\"\"\"\n CLOCK10: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 10:00. (reloj10)\"\"\"\n CLOCK9: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 9:00. (reloj9)\"\"\"\n CLOCK8: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 8:00. (reloj8)\"\"\"\n CLOCK7: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 7:00. (reloj7)\"\"\"\n CLOCK6: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 6:00. (reloj6)\"\"\"\n CLOCK5: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 5:00. (reloj5)\"\"\"\n CLOCK4: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 4:00. (reloj4)\"\"\"\n CLOCK3: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 3:00. (reloj3)\"\"\"\n CLOCK2: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 2:00. (reloj2)\"\"\"\n CLOCK1: Image\n \"\"\"Imagen de una l\u00ednea apuntando a la 1:00. (reloj1)\"\"\"\n ARROW_N: Image\n \"\"\"Imagen de una flecha apuntando hacia el norte. (flecha n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imagen de una flecha apuntando hacia el nordeste. (flecha ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imagen de una flecha apuntando hacia el este. (flecha e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudeste. (flecha se)\"\"\"\n ARROW_S: Image\n \"\"\"Imagen de una flecha apuntando hacia el sur. (flecha s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudoeste. (flecha so)\"\"\"\n ARROW_W: Image\n \"\"\"Imagen de una flecha apuntando hacia el oeste. (flecha o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imagen de una flecha apuntando hacia el noroeste. (flecha no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imagen de un tri\u00e1ngulo apuntando hacia arriba. (tri\u00e1ngulo)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imagen de un tri\u00e1ngulo en la esquina izquierda. (tri\u00e1ngulo izquierda)\"\"\"\n CHESSBOARD: Image\n \"\"\"LED iluminados de forma alterna seg\u00fan un patr\u00f3n de tablero de ajedrez. (tablero de ajedrez)\"\"\"\n DIAMOND: Image\n \"\"\"Imagen de un diamante. (diamante)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imagen de un diamante peque\u00f1o. (diamante peque\u00f1o)\"\"\"\n SQUARE: Image\n \"\"\"Imagen de un cuadrado. (cuadrado)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imagen de un cuadrado peque\u00f1o. (cuadrado peque\u00f1o)\"\"\"\n RABBIT: Image\n \"\"\"Imagen de un conejo. (conejo)\"\"\"\n COW: Image\n \"\"\"Imagen de una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imagen de una nota negra. (negra musical)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imagen de una nota corchea. (corchea musical)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imagen de un par de notas corcheas. (corcheas musicales)\"\"\"\n PITCHFORK: Image\n \"\"\"Imagen de una horca. (horca)\"\"\"\n XMAS: Image\n \"\"\"Imagen de un \u00e1rbol de Navidad. (navidad)\"\"\"\n PACMAN: Image\n \"\"\"Imagen del personaje de videojuegos Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Imagen de un objetivo. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imagen de una camiseta. (camiseta)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imagen de un pat\u00edn. (pat\u00edn)\"\"\"\n DUCK: Image\n \"\"\"Imagen de un pato. (pato)\"\"\"\n HOUSE: Image\n \"\"\"Imagen de una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imagen de una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imagen de una mariposa. (mariposa)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imagen de un monigote. (monigote)\"\"\"\n GHOST: Image\n \"\"\"Imagen de un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imagen de una espada. (espada)\"\"\"\n GIRAFFE: Image\n \"\"\"Imagen de una jirafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imagen de una calavera. (calavera)\"\"\"\n UMBRELLA: Image\n \"\"\"Imagen de un paraguas. (paraguas)\"\"\"\n SNAKE: Image\n \"\"\"Imagen de una serpiente. (serpiente)\"\"\"\n SCISSORS: Image\n \"\"\"Imagen de tijeras. (tijeras)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes CLOCK_ en secuencia. (todos los relojes)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes ARROW_ en secuencia. (todas las flechas)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imagen a partir de una cadena que describe los LED que est\u00e1n encendidos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena que describe la imagen.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imagen vac\u00eda con ``width`` columnas y ``height`` filas.\n\n:param width: (ancho) Ancho opcional de la imagen\n:param height: (altura) Altura opcional de la imagen\n:param buffer: (b\u00fafer) Matriz opcional de bytes de ``width`` \u00d7 ``height`` enteros en el rango 0 - 9 para inicializar la imagen\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obtiene el n\u00famero de columnas. (ancho)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obtiene el n\u00famero de filas. (altura)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo de un p\u00edxel. (configurar p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:param value: (valor) El brillo expresado como un entero entre 0 (oscuro) y 9 (brillante)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obtiene el brillo de un p\u00edxel. (obtener p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la izquierda. (desplazamiento a la izquierda)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la derecha. (desplazamiento a la derecha)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia arriba. (desplazamiento hacia arriba)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia abajo. (desplazamiento hacia abajo)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crear una nueva imagen recortando la imagen. (recortar)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de desplazamiento del recorte\n:param y: La fila de desplazamiento del recorte\n:param w: (a) El ancho del recorte\n:param h: La altura del recorte\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una copia exacta de la imagen. (copiar)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una nueva imagen invirtiendo el brillo de los p\u00edxeles de la\nimagen de origen. (invertir)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Establece el brillo de todos los p\u00edxeles de la imagen. (llenar)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) El nuevo brillo expresado como un n\u00famero entre 0 (oscuro) y 9 (brillante).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia un \u00e1rea de otra imagen en esta imagen.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (org) La imagen de origen\n:param x: El desplazamiento de columna inicial en la imagen de origen\n:param y: El desplazamiento de fila inicial en la imagen de origen\n:param w: (a) El n\u00famero de columnas a copiar\n:param h: El n\u00famero de filas a copiar\n:param xdest: El desplazamiento de columna a modificar en esta imagen\n:param ydest: El desplazamiento de fila a modificar en esta imagen\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena compacta de la imagen.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena legible de la imagen. (cad)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen sumando los valores de brillo de las dos im\u00e1genes\npara cada p\u00edxel. (a\u00f1adir)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (otro) La imagen a a\u00f1adir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen restando los valores de brillo de la otra imagen a los de esta imagen. (rest)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (otro) La imagen a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen multiplicando el brillo de cada p\u00edxel por ``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor por el que multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen dividiendo el brillo de cada p\u00edxel entre ``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor entre el que dividir.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``quiet`` a ``loud``, como aplaudir o gritar. (alto)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``loud`` hasta ``quiet``, como hablar o una m\u00fasica de fondo. (silencioso)\"\"\"\n\nclass Sound:\n \"\"\"Los sonidos predefinidos pueden llamarse usando ``audio.play(Sound.NAME)``. (sonido)\"\"\"\n GIGGLE: Sound\n \"\"\"Sonido de risita. (risita)\"\"\"\n HAPPY: Sound\n \"\"\"Sonido alegre. (feliz)\"\"\"\n HELLO: Sound\n \"\"\"Sonido de saludo. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Sonido misterioso. (misterioso)\"\"\"\n SAD: Sound\n \"\"\"Sonido triste. (triste)\"\"\"\n SLIDE: Sound\n \"\"\"Sonido deslizante. (deslizante)\"\"\"\n SOARING: Sound\n \"\"\"Sonido creciente. (creciente)\"\"\"\n SPRING: Sound\n \"\"\"Sonido de muelle. (muelle)\"\"\"\n TWINKLE: Sound\n \"\"\"Sonido parpadeante. (parpadeante)\"\"\"\n YAWN: Sound\n \"\"\"Sonido de bostezo. (bostezo)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mide la aceleraci\u00f3n del micro:bit y reconoce gestos. (aceler\u00f3metro)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``x`` en mili-g. (obtener x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``y`` en mili-g. (obtener y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``z`` en mili-g. (obtener z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obtiene las mediciones de las aceleraciones en todos los ejes como una tupla. (obtener valores)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtiene la medida de la aceleraci\u00f3n de todos los ejes combinados, como un entero positivo. Es la suma Pitag\u00f3rica de los ejes X, Y y Z. (obtener fuerza)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obtiene el nombre del gesto actual. (gesto actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto est\u00e1 actualmente activo. (gesto activo)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto estuvo activo desde la \u00faltima llamada. (gesto anterior)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Devuelve una tupla con el historial de gestos. (obtener gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Configura el rango de sensibilidad del aceler\u00f3metro, en g (gravedad est\u00e1ndar), a los valores m\u00e1s cercanos soportados por el hardware, por lo que redondea a ``2``, ``4``, u ``8`` g. (configurar rango)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nuevo rango para el aceler\u00f3metro, un entero en ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reproducir sonidos usando el micro:bit (importar ``audio`` para compatibilidad con V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reproduce un sonido integrado, un efecto de sonido o marcos de audio personalizados. (reproducir)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un ``Sound`` integrado como ``Sound.GIGGLE``, un ``SoundEffect`` o datos de muestra como un iterable de objetos ``AudioFrame``.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que el sonido finalice.\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``. Si no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``.\n:param return_pin: (devolver pin) Especifica un pin de conector de borde diferencial para conectarse a un altavoz externo en lugar de tierra. Esto se ignora para la revisi\u00f3n **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Comprueba si se est\u00e1 reproduciendo un sonido. (reproduciendo)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Detiene la reproducci\u00f3n de audio. (detener)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecto de sonido, compuesto por un conjunto de par\u00e1metros configurados a trav\u00e9s del constructor o atributos. (efectosonido)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda senoidal utilizada para el par\u00e1metro ``waveform``. (forma de onda senoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3n de onda con diente de sierra usada para el par\u00e1metro ``waveform``. (forma de onda diente de sierra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda triangular usada para el par\u00e1metro ``waveform``. (forma de onda triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda cuadrada usada para el par\u00e1metro ``waveform``. (forma de onda cuadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3n de ruido usada para el par\u00e1metro ``waveform``. (forma de onda de ruido)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n lineal usada para el par\u00e1metro ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n de curva usada para el par\u00e1metro ``shape``. (forma curva)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n logar\u00edtmica usada para el par\u00e1metro ``shape``. (registro de forma)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Ninguna opci\u00f3n de efecto usada para el par\u00e1metro ``fx``. (fx ninguno)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto Tr\u00e9molo usada para el par\u00e1metro ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto vibrato utilizada para el par\u00e1metro ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto gorjeo utilizada para el par\u00e1metro ``fx``. (fx gorjeo)\"\"\"\n freq_start: int\n \"\"\"Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia de inicio)\"\"\"\n freq_end: int\n \"\"\"Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia final)\"\"\"\n duration: int\n \"\"\"Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999`` (duraci\u00f3n)\"\"\"\n vol_start: int\n \"\"\"Valor de volumen inicial, un n\u00famero entre ``0`` y ``255`` (volumen de inicio)\"\"\"\n vol_end: int\n \"\"\"Valor final del volumen, un n\u00famero entre ``0`` y ``255`` (volumen final)\"\"\"\n waveform: int\n \"\"\"Tipo de forma ondulada, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente) (forma de onda)\"\"\"\n fx: int\n \"\"\"Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``\"\"\"\n shape: int\n \"\"\"El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un nuevo efecto de sonido.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frecuencia de inicio) Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param freq_end: (frecuencia final) Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param duration: (duraci\u00f3n) Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999``.\n:param vol_start: (volumen inicial) Valor de volumen inicial, un n\u00famero entre ``0`` y ``255``.\n:param vol_end: (volumen final) Valor de volumen final, un n\u00famero entre ``0`` y ``255``.\n:param waveform: (forma de onda) Tipo de forma de onda, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente).\n:param fx: Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``.\n:param shape: (forma) El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una copia de este ``SoundEffect``. (copiar)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objeto ``AudioFrame`` es una lista de 32 muestras, cada una de las cuales es un byte\nsin signo (n\u00famero entero entre 0 y 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobrescribe los datos de este ``AudioFrame`` con los datos de otra instancia ``AudioFrame``. (copiadesde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (otro) Instancia ``AudioFrame`` desde la que copiar los datos.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicarse con dispositivos que usan el protocolo de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicia un perif\u00e9rico. (inic)\n\nExample: ``i2c.init()``\n\n:param freq: (frec) frecuencia del reloj\n:param sda: pin ``sda`` (por defecto, 20)\n:param scl: pin ``scl`` (por defecto, 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escanea el bus para buscar dispositivos. (escanear)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lee bytes de un dispositivo. (leer)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param n: El n\u00famero de bytes a leer\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escribe bytes en un dispositivo. (escribir)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param buf: (b\u00faf) Un b\u00fafer que contiene los bytes a escribir\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Responde al sonido usando el micr\u00f3fono integrado (solo V2). (micr\u00f3fono)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obtiene el \u00faltimo evento de sonido grabado (evento actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba si se ha escuchado un sonido al menos una vez desde la \u00faltima llamada. (evento anterior)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba el evento de sonido m\u00e1s reciente detectado. (evento reciente)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obtiene el historial de eventos de sonido como una tupla. (obtener eventos)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Establece el umbral para un evento de sonido. (configurar l\u00edmite)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (evento) Un evento de sonido, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El nivel de umbral en el rango 0 - 255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtiene el nivel de presi\u00f3n sonora. (nivel de sonido)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controlar el altavoz integrado (solo V2). (altavoz)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga el altavoz. (apagado)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende el altavoz. (encendido)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lee bytes. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:param out: (a) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lee como m\u00e1ximo ``nbytes`` mientras est\u00e1 escribiendo continuamente el byte individual dado por ``out``. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:param out: (salida) El valor del byte a escribir (por defecto 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunicarse con un dispositivo usando una interfaz serie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paridad impar (impar)\"\"\"\nEVEN: int\n\"\"\"Paridad par (par)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n serie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El tama\u00f1o de bytes transmitidos; micro:bit solo admite 8.\n:param parity: (paridad) C\u00f3mo se comprueba la paridad: ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (detener) El n\u00famero de bits de parada; tiene que ser 1 para el micro:bit.\n:param tx: Pin transmisor.\n:param rx: Pin receptor.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Comprueba si hay datos en espera. (alg\u00fan)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lee bytes. (leer)\n\nExample: ``uart.read()``\n\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee tantos bytes como sea posible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lee bytes en el ``buf``. (leeren)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (b\u00faf) El b\u00fafer en el que escribir.\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lee una l\u00ednea, terminando en un car\u00e1cter de nueva l\u00ednea. (leerl\u00ednea)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escribe un b\u00fafer en el bus. (escribir)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (b\u00faf) Un objeto de bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.fr.json b/src/micropython/main/typeshed.fr.json index ab9d31408..fdd497df1 100644 --- a/src/micropython/main/typeshed.fr.json +++ b/src/micropython/main/typeshed.fr.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Broches, images, sons, temp\u00e9rature et volume\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Planifie l'ex\u00e9cution d'une fonction \u00e0 l'intervalle sp\u00e9cifi\u00e9 par les arguments temporels **V2 uniquement**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Fonction \u00e0 appeler \u00e0 l'intervalle fourni. \u00c0 omettre en cas d'utilisation comme d\u00e9corateur.\n:param days: D\u00e9finit la marque du jour pour la programmation.\n:param h: D\u00e9finit la marque d'heure pour la programmation.\n:param min: D\u00e9finit la marque de minute pour la programmation.\n:param s: D\u00e9finit la marque de seconde pour la programmation.\n:param ms: D\u00e9finit la marque de milliseconde pour la programmation.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Passer en mode panique.\n\nExample: ``panic(127)``\n\n:param n: Un nombre entier arbitraire <= 255 pour indiquer un \u00e9tat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Red\u00e9marrer la carte.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle d'entiers.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle de nombres \u00e0 virgule flottante.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Attendre ``n`` millisecondes.\n\nExample: ``sleep(1000)``\n\n:param n: Le nombre de millisecondes \u00e0 attendre\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtenir le temps de fonctionnement de la carte.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtenir la temp\u00e9rature du micro:bit en degr\u00e9s Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"D\u00e9finit le volume.\n\nExample: ``set_volume(127)``\n\n:param v: Une valeur entre 0 (bas) et 255 (haut).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe pour les boutons ``button_a`` et ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"V\u00e9rifier si le bouton est appuy\u00e9.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"V\u00e9rifie si le bouton a \u00e9t\u00e9 press\u00e9 depuis que l'appareil a \u00e9t\u00e9 d\u00e9marr\u00e9 ou depuis la derni\u00e8re fois o\u00f9 cette m\u00e9thode a \u00e9t\u00e9 appel\u00e9e.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtenir le nombre total d'occurrences o\u00f9 le bouton a \u00e9t\u00e9 appuy\u00e9, et r\u00e9initialise ce total avant de retourner.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objet bouton ``Button`` gauche.\"\"\"\nbutton_b: Button\n\"\"\"L'objet bouton ``Button`` droit.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Une broche num\u00e9rique.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la valeur num\u00e9rique de la broche\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"D\u00e9finit la valeur num\u00e9rique de la broche\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 pour d\u00e9finir la broche \u00e0 un niveau haut ou 0 pour d\u00e9finir la broche \u00e0 un niveau bas\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"D\u00e9finissez l'\u00e9tat de tirage sur l'une des trois valeurs possibles\\xa0: ``PULL_UP``, ``PULL_DOWN`` ou ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: L'\u00e9tat de tirage sur la broche correspondante, par exemple ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtenir l'\u00e9tat de tirage sur une broche.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Renvoie le mode de la broche\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Sortie d'un signal PWM sur la broche, avec un rapport cyclique proportionnel \u00e0 ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Un entier ou un nombre \u00e0 virgule flottante entre 0 (rapport cyclique \u00e0 0%) et 1023 (rapport cyclique \u00e0 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: La p\u00e9riode en millisecondes avec une valeur minimale valide de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: La p\u00e9riode en microsecondes avec une valeur minimale valide de 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques et num\u00e9riques.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lit la tension appliqu\u00e9e \u00e0 la broche.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques, num\u00e9riques et tactiles.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"V\u00e9rifie si la broche est touch\u00e9e.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"D\u00e9finit le mode tactile pour la broche.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` ou ``RESISTIVE`` pour la broche correspondante.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Une broche logo sensible au toucher sur l'avant du micro:bit, qui est d\u00e9finie par d\u00e9faut en mode tactile capacitif.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Une broche pour adresser le haut-parleur micro:bit.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Une image \u00e0 afficher sur l'\u00e9cran LED du micro:bit.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Image d'un c\u0153ur.\"\"\"\n HEART_SMALL: Image\n \"\"\"Petite image d'un c\u0153ur\"\"\"\n HAPPY: Image\n \"\"\"Image de visage heureux.\"\"\"\n SMILE: Image\n \"\"\"Image de visage souriant.\"\"\"\n SAD: Image\n \"\"\"Image de visage triste.\"\"\"\n CONFUSED: Image\n \"\"\"Image d'un visage perplexe.\"\"\"\n ANGRY: Image\n \"\"\"Image de visage en col\u00e8re.\"\"\"\n ASLEEP: Image\n \"\"\"Image de visage endormi\"\"\"\n SURPRISED: Image\n \"\"\"Image de visage surpris.\"\"\"\n SILLY: Image\n \"\"\"Image de visage absurde.\"\"\"\n FABULOUS: Image\n \"\"\"Image de visage avec lunettes de soleil.\"\"\"\n MEH: Image\n \"\"\"Image de visage pas impressionn\u00e9\"\"\"\n YES: Image\n \"\"\"Image d'une coche.\"\"\"\n NO: Image\n \"\"\"Image d'une croix.\"\"\"\n CLOCK12: Image\n \"\"\"Image avec une ligne indiquant vers 12 heures.\"\"\"\n CLOCK11: Image\n \"\"\"Image avec une ligne indiquant vers 11 heures.\"\"\"\n CLOCK10: Image\n \"\"\"Image avec une ligne indiquant vers 10 heures.\"\"\"\n CLOCK9: Image\n \"\"\"Image avec une ligne indiquant vers 9 heures.\"\"\"\n CLOCK8: Image\n \"\"\"Image avec une ligne indiquant vers 8 heures.\"\"\"\n CLOCK7: Image\n \"\"\"Image avec une ligne indiquant vers 7 heures.\"\"\"\n CLOCK6: Image\n \"\"\"Image avec une ligne indiquant vers 6 heures.\"\"\"\n CLOCK5: Image\n \"\"\"Image avec une ligne indiquant vers 5 heures.\"\"\"\n CLOCK4: Image\n \"\"\"Image avec une ligne indiquant vers 4 heures.\"\"\"\n CLOCK3: Image\n \"\"\"Image avec une ligne indiquant vers 3 heures.\"\"\"\n CLOCK2: Image\n \"\"\"Image avec une ligne indiquant vers 2 heures.\"\"\"\n CLOCK1: Image\n \"\"\"Image avec une ligne indiquant vers 1 heure.\"\"\"\n ARROW_N: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord.\"\"\"\n ARROW_NE: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord est.\"\"\"\n ARROW_E: Image\n \"\"\"Image de fl\u00e8che pointant vers l'est.\"\"\"\n ARROW_SE: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-est.\"\"\"\n ARROW_S: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud.\"\"\"\n ARROW_SW: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-ouest.\"\"\"\n ARROW_W: Image\n \"\"\"Image de fl\u00e8che pointant vers l'ouest.\"\"\"\n ARROW_NW: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord ouest.\"\"\"\n TRIANGLE: Image\n \"\"\"Image d'un triangle pointant vers le haut.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Image d'un triangle dans le coin gauche.\"\"\"\n CHESSBOARD: Image\n \"\"\"\u00c9clairage alternatif des LEDs dans un motif d'\u00e9chiquier.\"\"\"\n DIAMOND: Image\n \"\"\"Image de diamant.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Petite image de diamant.\"\"\"\n SQUARE: Image\n \"\"\"Image de carr\u00e9.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Petite image de carr\u00e9.\"\"\"\n RABBIT: Image\n \"\"\"Image de lapin.\"\"\"\n COW: Image\n \"\"\"Image de vache.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Image d'une note.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Image d'une croche.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Image d'une paire de croche.\"\"\"\n PITCHFORK: Image\n \"\"\"Image d'une fourche.\"\"\"\n XMAS: Image\n \"\"\"Image d'un arbre de No\u00ebl.\"\"\"\n PACMAN: Image\n \"\"\"Image du personnage d'arcade Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Image d'une cible.\"\"\"\n TSHIRT: Image\n \"\"\"Image de t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Image de patin \u00e0 roulette.\"\"\"\n DUCK: Image\n \"\"\"Image de canard.\"\"\"\n HOUSE: Image\n \"\"\"Image d'une maison.\"\"\"\n TORTOISE: Image\n \"\"\"Image d'une tortue.\"\"\"\n BUTTERFLY: Image\n \"\"\"Image d'un papillon.\"\"\"\n STICKFIGURE: Image\n \"\"\"Image d'un personnage.\"\"\"\n GHOST: Image\n \"\"\"Image de fant\u00f4me.\"\"\"\n SWORD: Image\n \"\"\"Image d'une \u00e9p\u00e9e.\"\"\"\n GIRAFFE: Image\n \"\"\"Image d'une girafe.\"\"\"\n SKULL: Image\n \"\"\"Image d'un cr\u00e2ne.\"\"\"\n UMBRELLA: Image\n \"\"\"Image d'un parapluie.\"\"\"\n SNAKE: Image\n \"\"\"Image de serpent.\"\"\"\n SCISSORS: Image\n \"\"\"Image de ciseaux.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Une liste contenant toutes les images CLOCK_ en s\u00e9quence.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Une liste contenant toutes les images ARROW_ en s\u00e9quence.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Cr\u00e9er une image \u00e0 partir d'une cha\u00eene de caract\u00e8res d\u00e9crivant quelles LED sont allum\u00e9es.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: La cha\u00eene de caract\u00e8res d\u00e9crivant l'image.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Cr\u00e9er une image vide avec ``width`` colonnes et ``height`` lignes.\n\n:param width: Largeur optionnelle de l'image\n:param height: Hauteur optionnelle de l'image\n:param buffer: Tableau optionnel ou octets de ``width``\u00d7``height`` entiers dans la plage 0-9 pour initialiser l'image\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de colonnes.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de lignes.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:param value: La luminosit\u00e9 sous la forme d'un entier compris entre 0 (sombre) et 9 (lumineux)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 gauche.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 droite.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le haut.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le bas.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en recadrant l'image.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Le nombre de colonnes duquel d\u00e9caler le recadrage\n:param y: Le nombre de lignes duquel d\u00e9caler le recadrage\n:param w: La largeur du recadrage\n:param h: La hauteur du recadrage\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Cr\u00e9er une copie exacte de l'image.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en inversant la luminosit\u00e9 des pixels de l'image source.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de tous les pixels de l'image.\n\nExample: ``my_image.fill(5)``\n\n:param value: La nouvelle luminosit\u00e9 sous la forme d'un nombre compris entre 0 (sombre) et 9 (lumineux).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copier la zone d'une autre image vers cette image.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: L'image source\n:param x: Le d\u00e9calage de la colonne de d\u00e9part dans l'image source\n:param y: D\u00e9calage de la ligne de d\u00e9part dans l'image source\n:param w: Le nombre de colonnes \u00e0 copier\n:param h: Le nombre de lignes \u00e0 copier\n:param xdest: Le d\u00e9calage de la colonne \u00e0 modifier dans cette image\n:param ydest: Le d\u00e9calage de la ligne \u00e0 modifier dans cette image\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une repr\u00e9sentation de l'image sous forme de texte compact.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene de caract\u00e8res lisible de l'image.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en additionnant les valeurs de luminosit\u00e9 des deux images\npour chaque pixel.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: L'image \u00e0 ajouter.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en soustrayant de cette image les valeurs de luminosit\u00e9 de\nl'autre image.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: L'image \u00e0 soustraire.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en multipliant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: La valeur par laquelle multiplier.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en divisant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: La valeur par laquelle diviser.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores, de ``quiet`` \u00e0 ``loud`` comme un clap dans les mains ou un cri.\"\"\"\n QUIET: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores de ``loud`` \u00e0 ``quiet`` comme parler ou \u00e9couter de la musique de fond.\"\"\"\n\nclass Sound:\n \"\"\"Les sons int\u00e9gr\u00e9s peuvent \u00eatre appel\u00e9s en utilisant ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Bruit de gloussement.\"\"\"\n HAPPY: Sound\n \"\"\"Son joyeux.\"\"\"\n HELLO: Sound\n \"\"\"Son de salutation.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Son myst\u00e9rieux.\"\"\"\n SAD: Sound\n \"\"\"Son triste.\"\"\"\n SLIDE: Sound\n \"\"\"Bruit de glissade.\"\"\"\n SOARING: Sound\n \"\"\"Bruit d'envol\u00e9e.\"\"\"\n SPRING: Sound\n \"\"\"Son d'un ressort.\"\"\"\n TWINKLE: Sound\n \"\"\"Son de scintillement.\"\"\"\n YAWN: Sound\n \"\"\"Son de b\u00e2illement.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesurer l'acc\u00e9l\u00e9ration du micro:bit et reconnaitre des mouvements.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``x`` en milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``y`` en milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``z`` en milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"R\u00e9cup\u00e9rer en une fois les mesures d'acc\u00e9l\u00e9ration dans tous les axes sous forme d'un tuple.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtenir la mesure de l'acc\u00e9l\u00e9ration de tous les axes combin\u00e9s, sous la forme d'un nombre entier positif. C'est la somme pythagoricienne des axes X, Y et Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"R\u00e9cup\u00e9rer le nom du geste actuel.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 est actif en ce moment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 a \u00e9t\u00e9 actif depuis le dernier appel.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Renvoyer un tuple de l'historique des gestes.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"D\u00e9finir la plage de sensibilit\u00e9 de l'acc\u00e9l\u00e9rom\u00e8tre, en g (gravit\u00e9 standard), \u00e0 la valeur la plus proche support\u00e9e par le mat\u00e9riel, l'arrondi se fait soit \u00e0 ``2``, ``4``, ou ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nouvelle plage pour l'acc\u00e9l\u00e9rom\u00e8tre, un entier en ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Jouer des sons en utilisant le micro:bit (importer ``audio`` pour compatibilit\u00e9 V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Jouer un son int\u00e9gr\u00e9, un effet sonore ou des frames audio personnalis\u00e9es.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Un ``Sound`` int\u00e9gr\u00e9 tel que ``Sound.GIGGLE``, un ``SoundEffect`` ou un \u00e9chantillon de donn\u00e9es sous la forme d'un it\u00e9rable d'objets ``AudioFrame``.\n:param wait: Si ``wait`` est ``True``, cette fonction bloquera jusqu'\u00e0 ce que le son soit termin\u00e9.\n:param pin: (broche) Un argument optionnel pour sp\u00e9cifier la broche de sortie, peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut ``pin0``. Si nous ne voulons pas que le son soit jou\u00e9, il est possible d'utiliser ``pin=None``.\n:param return_pin: Sp\u00e9cifie une broche de connecteur de bord diff\u00e9rentiel \u00e0 connecter \u00e0 un haut-parleur externe au lieu de la masse. Ceci est ignor\u00e9 dans la r\u00e9vision **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"V\u00e9rifier si un son est en train d'\u00eatre jou\u00e9.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Arr\u00eater toute lecture audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un effet sonore, compos\u00e9 d'un ensemble de param\u00e8tres configur\u00e9s via le constructeur ou les attributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Option d'onde sinuso\u00efdale utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Optionde forme d'onde en dent de scie utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Option d'onde triangulaire utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Option d'onde carr\u00e9e utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Option d'onde de bruit utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Option d'interpolation lin\u00e9aire utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Option d'interpolation courbe utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Option d'interpolation logarithmique utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Option sans effet utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Option d'effet tremolo utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Option d'effet vibrato utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Option d'effet de Warble utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n freq_start: int\n \"\"\"Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n freq_end: int\n \"\"\"Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n duration: int\n \"\"\"Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``\"\"\"\n vol_start: int\n \"\"\"Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``\"\"\"\n vol_end: int\n \"\"\"Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``\"\"\"\n waveform: int\n \"\"\"Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement)\"\"\"\n fx: int\n \"\"\"Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Cr\u00e9er un nouvel effet sonore.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param freq_end: Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param duration: Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``.\n:param vol_start: Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``.\n:param vol_end: Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``.\n:param waveform: Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement).\n:param fx: Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``.\n:param shape: Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Cr\u00e9er une copie de ce ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objet ``AudioFrame`` est une liste de 32 \u00e9chantillons, chacun d'eux \u00e9tant un octet non sign\u00e9\n(nombre entier entre 0 et 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00c9craser les donn\u00e9es de ce ``AudioFrame`` avec les donn\u00e9es d'une autre instance ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instance ``AudioFrame`` \u00e0 partir de laquelle copier les donn\u00e9es.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques en utilisant le protocole de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"R\u00e9initialiser un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.init()``\n\n:param freq: fr\u00e9quence d'horloge\n:param sda: Broche ``sda`` (19 par d\u00e9faut)\n:param scl: Broche ``scl`` (19 par d\u00e9faut)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scanner le bus pour d\u00e9tecter des p\u00e9riph\u00e9riques.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lire des octets depuis un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param n: Le nombre d'octets \u00e0 lire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u00c9crire des octets sur un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param buf: Un buffer contenant les octets \u00e0 \u00e9crire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"R\u00e9agir \u00e0 du son en utilisant le microphone int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"R\u00e9cup\u00e9rer le dernier \u00e9v\u00e9nement sonore enregistr\u00e9\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier si un son a \u00e9t\u00e9 entendu au moins une fois depuis le dernier appel.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier l'\u00e9v\u00e9nement sonore le plus r\u00e9cent d\u00e9tect\u00e9.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"R\u00e9cup\u00e9rer l'historique des \u00e9v\u00e9nements sonores en tant que tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"D\u00e9finir le seuil pour un \u00e9v\u00e9nement sonore.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Un \u00e9v\u00e9nement sonore, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``.\n:param value: Le niveau du seuil dans la plage 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtenir le niveau de pression acoustique.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Contr\u00f4ler le haut-parleur int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\n\ndef off() -> None:\n \"\"\"\u00c9teindre le haut-parleur.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Activer le haut-parleur.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:param out: (Sortie) La valeur d'octet \u00e0 \u00e9crire (0 par d\u00e9faut).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiquer avec un p\u00e9riph\u00e9rique \u00e0 l'aide d'une interface s\u00e9rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Parit\u00e9 impaire\"\"\"\nEVEN: int\n\"\"\"Parit\u00e9 paire\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiser la communication s\u00e9rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: La vitesse de communication.\n:param bits: La taille des octets transmis. micro:bit ne prend en charge que 8.\n:param parity: Comment la parit\u00e9 est v\u00e9rifi\u00e9e, ``None``, ``uart.ODD`` ou ``uart.EVEN``.\n:param stop: Le nombre de bits d'arr\u00eat, doit \u00eatre 1 pour micro:bit.\n:param tx: Broche de transmission.\n:param rx: Broche de r\u00e9ception.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"V\u00e9rifier s'il y a des donn\u00e9es en attente.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lire des octets.\n\nExample: ``uart.read()``\n\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire autant d'octets que possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lire les octets dans le ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Le buffer dans lequel \u00e9crire.\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire ``len(buf)`` octets.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lire une ligne termin\u00e9e par un caract\u00e8re de nouvelle ligne.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u00c9crire un buffer sur un bus\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objet d'octets ou une cha\u00eene de caract\u00e8res.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.ja.json b/src/micropython/main/typeshed.ja.json index 2e2e52817..726733b4c 100644 --- a/src/micropython/main/typeshed.ja.json +++ b/src/micropython/main/typeshed.ja.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u7aef\u5b50\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30b5\u30a6\u30f3\u30c9\u3001\u6e29\u5ea6\u3068\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"time \u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u95a2\u6570\u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3057\u307e\u3059\u3002 **V2** \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u547c\u3073\u51fa\u3059\u95a2\u6570\u3002\u30c7\u30b3\u30ec\u30fc\u30bf\u3068\u3057\u3066\u4f7f\u3046\u5834\u5408\u306f\u7701\u7565\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n:param days: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u65e5\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param h: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u6642\u9593\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param min: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u5206\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param s: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param ms: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u30df\u30ea\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u30d1\u30cb\u30c3\u30af\u30e2\u30fc\u30c9\u306b\u5165\u308a\u307e\u3059\u3002\n\nExample: ``panic(127)``\n\n:param n: \u72b6\u614b\u3092\u793a\u3059 255 \u4ee5\u4e0b\u306e\u4efb\u610f\u306e\u6574\u6570\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30dc\u30fc\u30c9\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u3042\u308b\u6574\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6574\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u3042\u308b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n`` \u30df\u30ea\u79d2\u5f85\u6a5f\u3057\u307e\u3059\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u30df\u30ea\u79d2\u5358\u4f4d\u306e\u5f85\u6a5f\u6642\u9593\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u30dc\u30fc\u30c9\u306e\u5b9f\u884c\u6642\u9593\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"micro:bit\u306e\u6e29\u5ea6\u3092\u6442\u6c0f\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002 (\u6e29\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u97f3\u91cf\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``set_volume(127)``\n\n:param v: 0\uff08\u4e0b\u9650\uff09\u304b\u3089 255\uff08\u4e0a\u9650\uff09\u307e\u3067\u306e\u9593\u306e\u5024\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u30dc\u30bf\u30f3 ``button_a`` \u3068 ``button_b`` \u306e\u30af\u30e9\u30b9\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304c\u8d77\u52d5\u3055\u308c\u3066\u304b\u3089\u3001\u3082\u3057\u304f\u306f\u524d\u56de\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u304b\u3089\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u56de\u6570\u306e\u5408\u8a08\u3092\u53d6\u5f97\u3057\u3001\u8fd4\u3059\u524d\u306b\u56de\u6570\u3092\u30bc\u30ed\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u30c7\u30b8\u30bf\u30eb\u7aef\u5b50\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \u7aef\u5b50\u3092\u30cf\u30a4\u306b\u3059\u308b\u306b\u306f 1 \u3001\u30ed\u30fc\u306b\u3059\u308b\u306b\u306f 0 \u3092\u6307\u5b9a\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u30d7\u30eb\u72b6\u614b\u3092 ``PULL_UP``\u3001``PULL_DOWN``\u3001``NO_PULL`` \u306e\uff13\u3064\u306e\u5024\u306e\u3044\u305a\u308c\u304b\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: ``pin0.PULL_UP`` \u306a\u3069\u306e\u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u7aef\u5b50\u306e\u30e2\u30fc\u30c9\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"PWM \u4fe1\u53f7\u3092\u7aef\u5b50\u306b\u51fa\u529b\u3057\u307e\u3059\u3002\u6642\u9593\u5e45\u5468\u671f\u306f ``value`` \u306b\u6bd4\u4f8b\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0\uff08\u6642\u9593\u5e45\u5468\u671f 0%\uff09\u304b\u3089 1023\uff08\u6642\u9593\u5e45\u5468\u671f 100%\uff09\u307e\u3067\u306e\u6574\u6570\u307e\u305f\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u5468\u671f\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u5468\u671f\u3092\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3068\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u7aef\u5b50\u306b\u304b\u304b\u3063\u3066\u3044\u308b\u96fb\u5727\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3001\u30c7\u30b8\u30bf\u30eb\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u7aef\u5b50\u306b\u30bf\u30c3\u30c1\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e ``CAPACITIVE`` \u307e\u305f\u306f ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit\u306e\u524d\u9762\u306b\u3042\u308b\u30bf\u30c3\u30c1\u30bb\u30f3\u30b5\u30fc\u6a5f\u80fd\u306e\u3042\u308b\u30ed\u30b4\u306e\u7aef\u5b50\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u9759\u96fb\u5bb9\u91cf\u65b9\u5f0f\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30a2\u30c9\u30ec\u30b9\u3059\u308b\u305f\u3081\u306e\u7aef\u5b50\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit\u306eLED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306b\u8868\u793a\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u300c\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u300c\u3046\u308c\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SMILE: Image\n \"\"\"\u300c\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SAD: Image\n \"\"\"\u300c\u304b\u306a\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u300c\u3053\u307e\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u300c\u304a\u3053\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u300c\u306d\u3066\u308b\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u300c\u3073\u3063\u304f\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SILLY: Image\n \"\"\"\u300c\u3078\u3093\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u300c\u30b5\u30f3\u30b0\u30e9\u30b9\u306e\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MEH: Image\n \"\"\"\u300c\u3075\u30fc\u3093\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n YES: Image\n \"\"\"\u300c\u30c1\u30a7\u30c3\u30af\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n NO: Image\n \"\"\"\u300c\u30d0\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u300c12\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u300c11\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u300c10\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u300c9\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u300c8\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u300c7\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u300c6\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u300c5\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u300c4\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u300c3\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u300c2\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u300c1\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u300c\u5317\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u300c\u5317\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u300c\u5357\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u300c\u5357\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u300c\u5357\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u300c\u5317\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u300c\u4e0a\u5411\u304d\u306e\u4e09\u89d2\u5f62\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u300c\u5de6\u5411\u304d\u4e09\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u30c1\u30a7\u30b9\u76e4\u30d1\u30bf\u30fc\u30f3\u3067\u4ea4\u4e92\u306b\u70b9\u706f\u3059\u308bLED\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u300c\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u300c\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u300c\u3046\u3055\u304e\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n COW: Image\n \"\"\"\u300c\u3046\u3057\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u300c\uff14\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u300c\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u300c\u9023\u7d50\u3057\u305f\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u300c\u304f\u307e\u3067\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n XMAS: Image\n \"\"\"\u300c\u30af\u30ea\u30b9\u30de\u30b9\u30c4\u30ea\u30fc\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u300c\u30d1\u30c3\u30af\u30de\u30f3\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TARGET: Image\n \"\"\"\u300c\u307e\u3068\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TSHIRT: Image\n \"\"\"\u300cT\u30b7\u30e3\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u300c\u30ed\u30fc\u30e9\u30fc\u30b9\u30b1\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DUCK: Image\n \"\"\"\u300c\u3042\u3072\u308b\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u300c\u5bb6\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u300c\u304b\u3081\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u300c\u3061\u3087\u3046\u3061\u3087\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u300c\u68d2\u4eba\u9593\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GHOST: Image\n \"\"\"\u300c\u304a\u3070\u3051\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SWORD: Image\n \"\"\"\u300c\u5263\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u300c\u304d\u308a\u3093\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SKULL: Image\n \"\"\"\u300c\u304c\u3044\u3053\u3064\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n UMBRELLA: Image\n \"\"\"\u300c\u304b\u3055\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u300c\u3078\u3073\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SCISSORS: Image\n \"\"\"\u300c\u306f\u3055\u307f\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u6642\u8a08\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u77e2\u5370\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"LED\u306e\u70b9\u706f\u30d1\u30bf\u30fc\u30f3\u3092\u793a\u3059\u6587\u5b57\u5217\u304b\u3089\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u30a4\u30e1\u30fc\u30b8\u306b\u3064\u3044\u3066\u8a18\u8ff0\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \u5217\u3068 ``height`` \u884c\u304b\u3089\u306a\u308b\u7a7a\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n:param width: \u30a4\u30e1\u30fc\u30b8\u306e\u5e45\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param height: \u30a4\u30e1\u30fc\u30b8\u306e\u9ad8\u3055\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param buffer: \u30a4\u30e1\u30fc\u30b8\u3092\u521d\u671f\u5316\u3059\u308b\u305f\u3081\u306b\u3001\u6574\u6570\u5024\uff080\uff5e9\uff09\u3092 ``width``\u00d7``height`` \u500b\u4e26\u3079\u305f\u914d\u5217\u307e\u305f\u306f\u30d0\u30a4\u30c8\u5217\u3092\u6307\u5b9a\u3057\u307e\u3059\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u5217\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u884c\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:param value: \u660e\u308b\u3055\u3092 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u5de6\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u53f3\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0a\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0b\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u30c8\u30ea\u30df\u30f3\u30b0\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u5217\n:param y: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u884c\n:param w: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u5e45\n:param h: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u9ad8\u3055\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u5168\u4f53\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u5143\u30a4\u30e1\u30fc\u30b8\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53cd\u8ee2\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6570\u5024\u3067\u65b0\u3057\u3044\u660e\u308b\u3055\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u9818\u57df\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u5143\u30a4\u30e1\u30fc\u30b8\n:param x: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param y: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n:param w: \u30b3\u30d4\u30fc\u3059\u308b\u5217\u6570\n:param h: \u30b3\u30d4\u30fc\u3059\u308b\u884c\u6570\n:param xdest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param ydest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u30b3\u30f3\u30d1\u30af\u30c8\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u5224\u8aad\u53ef\u80fd\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\uff12\u3064\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8db3\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u52a0\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u4ed6\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u660e\u308b\u3055\u306e\u5024\u3092\u5f15\u3044\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u6e1b\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u500d\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u4e57\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u3067\u5272\u3063\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u9664\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u62cd\u624b\u3084\u53eb\u3073\u58f0\u306a\u3069\u3067 ``quiet`` \u304b\u3089 ``loud`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u767a\u8a71\u3084BGM\u306a\u3069\u3067 ``loud`` \u304b\u3089 ``quiet`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u5185\u8535\u306e\u30b5\u30a6\u30f3\u30c9\u306f ``audio.play(Sound.NAME)`` \u3067\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u300c\u304f\u3059\u304f\u3059\u7b11\u3046\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HAPPY: Sound\n \"\"\"\u300c\u30cf\u30c3\u30d4\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HELLO: Sound\n \"\"\"\u300c\u30cf\u30ed\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u300c\u30df\u30b9\u30c6\u30ea\u30a2\u30b9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SAD: Sound\n \"\"\"\u300c\u60b2\u3057\u3044\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SLIDE: Sound\n \"\"\"\u300c\u3059\u308b\u3059\u308b\u52d5\u304f\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u300c\u821e\u3044\u4e0a\u304c\u308b\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SPRING: Sound\n \"\"\"\u300c\u30d0\u30cd\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n TWINKLE: Sound\n \"\"\"\u300c\u30ad\u30e9\u30ad\u30e9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n YAWN: Sound\n \"\"\"\u300c\u3042\u304f\u3073\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u3068\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u8a8d\u8b58\u3092\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u4e00\u5ea6\u306b\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u3092\u5408\u6210\u3057\u305f\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u6b63\u306e\u6574\u6570\u5024\u3067\u5f97\u307e\u3059\u3002\u3053\u308c\u306f X\u8ef8\u3001Y\u8ef8\u3001Z\u8ef8\u306e\u30d4\u30bf\u30b4\u30e9\u30b9\u548c\u306b\u306a\u308a\u307e\u3059\u3002\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u73fe\u5728\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u306e\u540d\u524d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u73fe\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u4ee5\u964d\u306b\u3001\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u306a\u3063\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u5c65\u6b74\u306e\u30bf\u30d7\u30eb\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u611f\u5ea6\u7bc4\u56f2\u3092 g (\u6a19\u6e96\u91cd\u529b)\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u8a2d\u5b9a\u5024\u306f\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u6700\u3082\u8fd1\u3044\u5024\u3001\u3059\u306a\u308f\u3061 ``2``\u3001``4``\u3001``8`` g \u306e\u3044\u305a\u308c\u304b\u306b\u4e38\u3081\u3089\u308c\u307e\u3059\u3002\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u65b0\u3057\u3044\u611f\u5ea6\u7bc4\u56f2\u3002``g`` \u5358\u4f4d\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\u3067\u30b5\u30a6\u30f3\u30c9\u3092\u518d\u751f\u3057\u307e\u3059\uff08V1\u3068\u306e\u4e92\u63db\u306e\u305f\u3081\u306b ``audio`` \u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\uff09\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u5185\u8535\u30b5\u30a6\u30f3\u30c9\u3001\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3001\u30ab\u30b9\u30bf\u30e0\u5316\u3057\u305f\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30ec\u30fc\u30e0\u306e\u3044\u305a\u308c\u304b\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: ``Sound.GIGGLE`` \u306a\u3069\u306e\u5185\u8535\u306e``Sound``\u3001``SoundEffect``\u3001``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30a4\u30c6\u30e9\u30d6\u30eb\u3067\u3042\u308b\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u306e\u3044\u305a\u308c\u304b\u3002\n:param wait: ``wait`` \u304c ``True`` \u306e\u5834\u5408\u3001\u30b5\u30a6\u30f3\u30c9\u306e\u518d\u751f\u304c\u7d42\u308f\u308b\u307e\u3067\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3067\u3059\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param return_pin: \u30b0\u30e9\u30f3\u30c9\u3067\u306f\u306a\u304f\u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u306b\u63a5\u7d9a\u3059\u308b\u5dee\u52d5\u30a8\u30c3\u30b8\u30b3\u30cd\u30af\u30bf\u306e\u7aef\u5b50\n\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002**V2** \u3067\u306f\u3053\u306e\u6307\u5b9a\u3092\u7121\u8996\u3057\u307e\u3059\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u30aa\u30fc\u30c7\u30a3\u30aa\u304c\u518d\u751f\u4e2d\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3084\u5c5e\u6027\u3067\u8a2d\u5b9a\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30bb\u30c3\u30c8\u3067\u69cb\u6210\u3055\u308c\u308b\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3002\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30b5\u30a4\u30f3\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u306e\u3053\u304e\u308a\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u4e09\u89d2\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u77e9\u5f62\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ce\u30a4\u30ba\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ea\u30cb\u30a2\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ab\u30fc\u30d6\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u5bfe\u6570\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u52b9\u679c\u306a\u3057\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30c8\u30ec\u30e2\u30ed\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30d3\u30d6\u30e9\u30fc\u30c8\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ef\u30d6\u30eb\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n freq_start: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n freq_end: int\n \"\"\"\u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n duration: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_start: int\n \"\"\"\u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_end: int\n \"\"\"\u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\"\"\"\n fx: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u65b0\u3057\u3044\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: \u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param freq_end: \u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param duration: \u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002\u5358\u4f4d\u306f\u30df\u30ea\u79d2\u3067\u3001``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_start: \u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_end: \u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param waveform: \u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\u3002\n:param fx: \u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\n:param shape: \u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u3053\u306e ``SoundEffect`` \u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f32\u500b\u306e\u30b5\u30f3\u30d7\u30eb\u304b\u3089\u306a\u308b\u30ea\u30b9\u30c8\u3067\u3059\u3002\u305d\u308c\u305e\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u7b26\u53f7\u306a\u3057\u30d0\u30a4\u30c8\uff080\u301c255\u306e\u6574\u6570\uff09\u3067\u3059\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u3053\u306e ``AudioFrame`` \u306e\u30c7\u30fc\u30bf\u3092\u3001\u5225\u306e ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30c7\u30fc\u30bf\u3067\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: \u30b3\u30d4\u30fc\u3059\u308b\u30c7\u30fc\u30bf\u3092\u6301\u3064 ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \u30d0\u30b9\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u3092\u518d\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u30af\u30ed\u30c3\u30af\u5468\u6ce2\u6570\n:param sda: ``sda`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 20\uff09\n:param scl: ``scl`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 19\uff09\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u30d0\u30b9\u3092\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u3092\u63a2\u3057\u307e\u3059\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param n: \u8aad\u307f\u53d6\u308b\u30d0\u30a4\u30c8\u6570\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param buf: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u3092\u542b\u3080\u30d0\u30c3\u30d5\u30a1\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u5185\u8535\u30de\u30a4\u30af\u3092\u4f7f\u3063\u3066\u97f3\u306b\u5fdc\u7b54\u3057\u307e\u3059\uff08V2 \u306e\u307f\uff09\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u5c11\u306a\u304f\u3068\u3082\u4e00\u5ea6\u306f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u8fd1\u306b\u691c\u51fa\u3055\u308c\u305f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u3001\u78ba\u8a8d\u3059\u308b\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u5c65\u6b74\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3002\n:param value: 0\uff5e255\u306e\u7bc4\u56f2\u3067\u6307\u5b9a\u3059\u308b\u3057\u304d\u3044\u5024\u30ec\u30d9\u30eb\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u97f3\u5727\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\uff08V2\u306e\u307f\uff09\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:param out: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u5024\uff08\u521d\u671f\u5024\u306f'0'\uff09\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\nEVEN: int\n\"\"\"\u5076\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u3059\u308b\u30d3\u30c3\u30c8\u5e45\u3002micro:bit\u306f8\u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\n:param parity: \u30d1\u30ea\u30c6\u30a3\u306e\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5\u3002``None``\u3001``uart.ODD``\u3001``uart.EVEN`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param stop: \u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u306e\u6570\u306fmicro:bit\u3067\u306f1\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n:param tx: \u9001\u4fe1\u7aef\u5b50\u3002\n:param rx: \u53d7\u4fe1\u7aef\u5b50\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u53d7\u4fe1\u5f85\u3061\u306e\u30c7\u30fc\u30bf\u304c\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u3067\u304d\u308b\u3060\u3051\u591a\u304f\u8aad\u307f\u53d6\u308a\u307e\u3059\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf`` \u306b\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001``len(buf)`` \u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u6539\u884c\u6587\u5b57\u3067\u7d42\u308f\u308b\u884c\u3092\u8aad\u307f\u307e\u3059\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u30d0\u30b9\u306b\u30d0\u30c3\u30d5\u30a1\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u30d0\u30a4\u30c8\u5217\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u305f\u306f\u6587\u5b57\u5217\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.ko.json b/src/micropython/main/typeshed.ko.json index 9f7339366..1e18ad73d 100644 --- a/src/micropython/main/typeshed.ko.json +++ b/src/micropython/main/typeshed.ko.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\ub9e4\uac1c \ubcc0\uc218\ub85c \uc8fc\uc5b4\uc9c4 \uc77c\uc815\ud55c \uc2dc\uac04(\ubc00\ub9ac\ucd08, ms)\ub9c8\ub2e4 \ud2b9\uc815 \ud568\uc218\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. **micro:bit V2 \uc804\uc6a9**\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \uc8fc\uc5b4\uc9c4 \uc2dc\uac04\uc774 \ub418\uc5c8\uc744 \ub54c \ud638\ucd9c\ud560 \ud568\uc218. \ub370\ucf54\ub808\uc774\ud130(\uc7a5\uc2dd\uc790)\ub85c \uc0ac\uc6a9\ud560 \ub54c \ud638\ucd9c.\n:param days: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ub0a0 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param h: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \uc2dc\uac04 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param min: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubd84 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param s: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param ms: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubc00\ub9ac\ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\uc758 \uac00\uc18d\ub3c4\ub97c \uce21\uc815\ud558\uace0 \uc81c\uc2a4\uccd0\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\ud55c \ubc88\uc5d0 \ubaa8\ub4e0 \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 \ud29c\ud50c\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\ud604\uc7ac \uc81c\uc2a4\ucc98\uc758 \uc774\ub984\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ud604\uc7ac \ud65c\uc131\ud654 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\uccd0 \uc774\ub984.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \ud65c\uc131\ud654\ub41c \uc801\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\ucc98 \uc774\ub984\uc785\ub2c8\ub2e4.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\uc81c\uc2a4\ucc98 \uae30\ub85d\uc758 \ud29c\ud50c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -45,7 +45,7 @@ "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\ub97c \uc81c\uc5b4\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\n\ndef off() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ub055\ub2c8\ub2e4.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\uc9c1\ub82c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\ud640\uc218 \ud328\ub9ac\ud2f0\"\"\"\nEVEN: int\n\"\"\"\uc9dd\uc218 \ud328\ub9ac\ud2f0\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\uc9c1\ub82c \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uc804\uc1a1\ub418\ub294 \ubc14\uc774\ud2b8\uc758 \ud06c\uae30\uc785\ub2c8\ub2e4. micro:bit\ub294 8\ubc14\uc774\ud2b8\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\n:param parity: (\ud328\ub9ac\ud2f0) \ud328\ub9ac\ud2f0\uac00 \uccb4\ud06c\ub418\ub294 \ubc29\uc2dd\uc73c\ub85c ``None``, ``uart.ODD`` \ub610\ub294 ``uart.EVEN``\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n:param stop: \uc2a4\ud1b1 \ube44\ud2b8\uc758 \ubc88\ud638\uc785\ub2c8\ub2e4. micro:bit\ub294 1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n:param tx: \uc804\uc1a1\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param rx: \uc218\uc2e0\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\ub300\uae30 \uc911\uc778 \ub370\uc774\ud130\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ucd5c\ub300\ud55c \ub9ce\uc740 \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf``\ub85c \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \ubc14\uc774\ud2b8\ub97c \uae30\ub85d\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 ``len(buf)``\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\uc0c8\ub85c\uc6b4 \uc904 \ubb38\uc790\ub85c \ub05d\ub098\ub294 \uc904\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc84\ud37c\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\n\nExample: ``uart.write('hello world')``\n\n:param buf: \ubc14\uc774\ud2b8 \uc624\ube0c\uc81d\ud2b8 \ub610\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.lol.json b/src/micropython/main/typeshed.lol.json index 149dcdb30..1d7adad66 100644 --- a/src/micropython/main/typeshed.lol.json +++ b/src/micropython/main/typeshed.lol.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"crwdns329148:0crwdne329148:0 (crwdns329146:0crwdne329146:0)\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"crwdns335788:0crwdne335788:0 (crwdns329150:0crwdne329150:0)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: (crwdns329154:0crwdne329154:0) crwdns335790:0crwdne335790:0\n:param days: (crwdns329158:0crwdne329158:0) crwdns335792:0crwdne335792:0\n:param h: (crwdns329162:0crwdne329162:0) crwdns335794:0crwdne335794:0\n:param min: (crwdns329166:0crwdne329166:0) crwdns335796:0crwdne335796:0\n:param s: (crwdns329174:0crwdne329174:0) crwdns335800:0crwdne335800:0\n:param ms: (crwdns329170:0crwdne329170:0) crwdns335798:0crwdne335798:0\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"crwdns329180:0crwdne329180:0 (crwdns329178:0crwdne329178:0)\n\nExample: ``panic(127)``\n\n:param n: (crwdns329182:0crwdne329182:0) crwdns329184:0crwdne329184:0\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"crwdns329188:0crwdne329188:0 (crwdns329186:0crwdne329186:0)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"crwdns336078:0crwdne336078:0 (crwdns336076:0crwdne336076:0)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (crwdns336088:0crwdne336088:0) crwdns336090:0crwdne336090:0\n:param from_: (crwdns336080:0crwdne336080:0) crwdns336082:0crwdne336082:0\n:param to: (crwdns336084:0crwdne336084:0) crwdns336086:0crwdne336086:0\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"crwdns336094:0crwdne336094:0 (crwdns336092:0crwdne336092:0)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (crwdns336104:0crwdne336104:0) crwdns336106:0crwdne336106:0\n:param from_: (crwdns336096:0crwdne336096:0) crwdns336098:0crwdne336098:0\n:param to: (crwdns336100:0crwdne336100:0) crwdns336102:0crwdne336102:0\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"crwdns329192:0``n``crwdne329192:0 (crwdns329190:0crwdne329190:0)\n\nExample: ``sleep(1000)``\n\n:param n: (crwdns329194:0crwdne329194:0) crwdns329196:0crwdne329196:0\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"crwdns329200:0crwdne329200:0 (crwdns329198:0crwdne329198:0)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"crwdns329204:0crwdne329204:0 (crwdns329202:0crwdne329202:0)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"crwdns329208:0crwdne329208:0 (crwdns329206:0crwdne329206:0)\n\nExample: ``set_volume(127)``\n\n:param v: (crwdns329210:0crwdne329210:0) crwdns329212:0crwdne329212:0\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"crwdns329216:0``button_a``crwdnd329216:0``button_b``crwdne329216:0 (crwdns329214:0crwdne329214:0)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"crwdns329220:0crwdne329220:0 (crwdns329218:0crwdne329218:0)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"crwdns329224:0crwdne329224:0 (crwdns329222:0crwdne329222:0)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"crwdns329228:0crwdne329228:0 (crwdns329226:0crwdne329226:0)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"crwdns329232:0``Button``crwdne329232:0 (crwdns329230:0crwdne329230:0)\"\"\"\nbutton_b: Button\n\"\"\"crwdns329236:0``Button``crwdne329236:0 (crwdns329234:0crwdne329234:0)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"crwdns329240:0crwdne329240:0 (crwdns329238:0crwdne329238:0)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"crwdns329244:0crwdne329244:0 (crwdns329242:0crwdne329242:0)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"crwdns329248:0crwdne329248:0 (crwdns329246:0crwdne329246:0)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (crwdns329250:0crwdne329250:0) crwdns329252:0crwdne329252:0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"crwdns329256:0``PULL_UP``crwdnd329256:0``PULL_DOWN``crwdnd329256:0``NO_PULL``crwdne329256:0 (crwdns329254:0crwdne329254:0)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (crwdns329258:0crwdne329258:0) crwdns329260:0``pin0.PULL_UP``crwdne329260:0\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"crwdns329264:0crwdne329264:0 (crwdns329262:0crwdne329262:0)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"crwdns329268:0crwdne329268:0 (crwdns329266:0crwdne329266:0)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"crwdns329272:0``value``crwdne329272:0 (crwdns329270:0crwdne329270:0)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (crwdns329274:0crwdne329274:0) crwdns329276:0crwdne329276:0\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"crwdns329280:0``period``crwdne329280:0 (crwdns329278:0crwdne329278:0)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (crwdns329282:0crwdne329282:0) crwdns329284:0crwdne329284:0\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"crwdns329288:0``period``crwdne329288:0 (crwdns329286:0crwdne329286:0)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (crwdns329290:0crwdne329290:0) crwdns329292:0crwdne329292:0\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"crwdns329296:0crwdne329296:0 (crwdns329294:0crwdne329294:0)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"crwdns329300:0crwdne329300:0 (crwdns329298:0crwdne329298:0)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"crwdns329304:0crwdne329304:0 (crwdns329302:0crwdne329302:0)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"crwdns329308:0crwdne329308:0 (crwdns329306:0crwdne329306:0)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"crwdns329312:0crwdne329312:0 (crwdns329310:0crwdne329310:0)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (crwdns329314:0crwdne329314:0) crwdns329316:0``CAPACITIVE``crwdnd329316:0``RESISTIVE``crwdne329316:0\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"crwdns329320:0crwdne329320:0 (crwdns329318:0crwdne329318:0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"crwdns329324:0crwdne329324:0 (crwdns329322:0crwdne329322:0)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"crwdns329328:0crwdne329328:0 (crwdns329326:0crwdne329326:0)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"crwdns329332:0crwdne329332:0 (crwdns329330:0crwdne329330:0)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"crwdns329336:0crwdne329336:0 (crwdns329334:0crwdne329334:0)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"crwdns329340:0crwdne329340:0 (crwdns329338:0crwdne329338:0)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"crwdns329344:0crwdne329344:0 (crwdns329342:0crwdne329342:0)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"crwdns329348:0crwdne329348:0 (crwdns329346:0crwdne329346:0)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"crwdns329352:0crwdne329352:0 (crwdns329350:0crwdne329350:0)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"crwdns329356:0crwdne329356:0 (crwdns329354:0crwdne329354:0)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"crwdns329360:0crwdne329360:0 (crwdns329358:0crwdne329358:0)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"crwdns329364:0crwdne329364:0 (crwdns329362:0crwdne329362:0)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"crwdns329368:0crwdne329368:0 (crwdns329366:0crwdne329366:0)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"crwdns329372:0crwdne329372:0 (crwdns329370:0crwdne329370:0)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"crwdns329376:0crwdne329376:0 (crwdns329374:0crwdne329374:0)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"crwdns329380:0crwdne329380:0 (crwdns329378:0crwdne329378:0)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"crwdns329384:0crwdne329384:0 (crwdns329382:0crwdne329382:0)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"crwdns329388:0crwdne329388:0 (crwdns329386:0crwdne329386:0)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"crwdns329392:0crwdne329392:0 (crwdns329390:0crwdne329390:0)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"crwdns329396:0crwdne329396:0 (crwdns329394:0crwdne329394:0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"crwdns329400:0crwdne329400:0 (crwdns329398:0crwdne329398:0)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"crwdns329404:0crwdne329404:0 (crwdns329402:0crwdne329402:0)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"crwdns329408:0crwdne329408:0 (crwdns329406:0crwdne329406:0)\"\"\"\n HEART_SMALL: Image\n \"\"\"crwdns329412:0crwdne329412:0 (crwdns329410:0crwdne329410:0)\"\"\"\n HAPPY: Image\n \"\"\"crwdns329416:0crwdne329416:0 (crwdns329414:0crwdne329414:0)\"\"\"\n SMILE: Image\n \"\"\"crwdns329420:0crwdne329420:0 (crwdns329418:0crwdne329418:0)\"\"\"\n SAD: Image\n \"\"\"crwdns329424:0crwdne329424:0 (crwdns329422:0crwdne329422:0)\"\"\"\n CONFUSED: Image\n \"\"\"crwdns329428:0crwdne329428:0 (crwdns329426:0crwdne329426:0)\"\"\"\n ANGRY: Image\n \"\"\"crwdns329432:0crwdne329432:0 (crwdns329430:0crwdne329430:0)\"\"\"\n ASLEEP: Image\n \"\"\"crwdns329436:0crwdne329436:0 (crwdns329434:0crwdne329434:0)\"\"\"\n SURPRISED: Image\n \"\"\"crwdns329440:0crwdne329440:0 (crwdns329438:0crwdne329438:0)\"\"\"\n SILLY: Image\n \"\"\"crwdns329444:0crwdne329444:0 (crwdns329442:0crwdne329442:0)\"\"\"\n FABULOUS: Image\n \"\"\"crwdns329448:0crwdne329448:0 (crwdns329446:0crwdne329446:0)\"\"\"\n MEH: Image\n \"\"\"crwdns329452:0crwdne329452:0 (crwdns329450:0crwdne329450:0)\"\"\"\n YES: Image\n \"\"\"crwdns329456:0crwdne329456:0 (crwdns329454:0crwdne329454:0)\"\"\"\n NO: Image\n \"\"\"crwdns329460:0crwdne329460:0 (crwdns329458:0crwdne329458:0)\"\"\"\n CLOCK12: Image\n \"\"\"crwdns329464:0crwdne329464:0 (crwdns329462:0crwdne329462:0)\"\"\"\n CLOCK11: Image\n \"\"\"crwdns329468:0crwdne329468:0 (crwdns329466:0crwdne329466:0)\"\"\"\n CLOCK10: Image\n \"\"\"crwdns329472:0crwdne329472:0 (crwdns329470:0crwdne329470:0)\"\"\"\n CLOCK9: Image\n \"\"\"crwdns329476:0crwdne329476:0 (crwdns329474:0crwdne329474:0)\"\"\"\n CLOCK8: Image\n \"\"\"crwdns329480:0crwdne329480:0 (crwdns329478:0crwdne329478:0)\"\"\"\n CLOCK7: Image\n \"\"\"crwdns329484:0crwdne329484:0 (crwdns329482:0crwdne329482:0)\"\"\"\n CLOCK6: Image\n \"\"\"crwdns329488:0crwdne329488:0 (crwdns329486:0crwdne329486:0)\"\"\"\n CLOCK5: Image\n \"\"\"crwdns329492:0crwdne329492:0 (crwdns329490:0crwdne329490:0)\"\"\"\n CLOCK4: Image\n \"\"\"crwdns329496:0crwdne329496:0 (crwdns329494:0crwdne329494:0)\"\"\"\n CLOCK3: Image\n \"\"\"crwdns329500:0crwdne329500:0 (crwdns329498:0crwdne329498:0)\"\"\"\n CLOCK2: Image\n \"\"\"crwdns329504:0crwdne329504:0 (crwdns329502:0crwdne329502:0)\"\"\"\n CLOCK1: Image\n \"\"\"crwdns329508:0crwdne329508:0 (crwdns329506:0crwdne329506:0)\"\"\"\n ARROW_N: Image\n \"\"\"crwdns329512:0crwdne329512:0 (crwdns329510:0crwdne329510:0)\"\"\"\n ARROW_NE: Image\n \"\"\"crwdns329516:0crwdne329516:0 (crwdns329514:0crwdne329514:0)\"\"\"\n ARROW_E: Image\n \"\"\"crwdns329520:0crwdne329520:0 (crwdns329518:0crwdne329518:0)\"\"\"\n ARROW_SE: Image\n \"\"\"crwdns329524:0crwdne329524:0 (crwdns329522:0crwdne329522:0)\"\"\"\n ARROW_S: Image\n \"\"\"crwdns329528:0crwdne329528:0 (crwdns329526:0crwdne329526:0)\"\"\"\n ARROW_SW: Image\n \"\"\"crwdns329532:0crwdne329532:0 (crwdns329530:0crwdne329530:0)\"\"\"\n ARROW_W: Image\n \"\"\"crwdns329536:0crwdne329536:0 (crwdns329534:0crwdne329534:0)\"\"\"\n ARROW_NW: Image\n \"\"\"crwdns329540:0crwdne329540:0 (crwdns329538:0crwdne329538:0)\"\"\"\n TRIANGLE: Image\n \"\"\"crwdns329544:0crwdne329544:0 (crwdns329542:0crwdne329542:0)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"crwdns329548:0crwdne329548:0 (crwdns329546:0crwdne329546:0)\"\"\"\n CHESSBOARD: Image\n \"\"\"crwdns329552:0crwdne329552:0 (crwdns329550:0crwdne329550:0)\"\"\"\n DIAMOND: Image\n \"\"\"crwdns329556:0crwdne329556:0 (crwdns329554:0crwdne329554:0)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"crwdns329560:0crwdne329560:0 (crwdns329558:0crwdne329558:0)\"\"\"\n SQUARE: Image\n \"\"\"crwdns329564:0crwdne329564:0 (crwdns329562:0crwdne329562:0)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"crwdns329568:0crwdne329568:0 (crwdns329566:0crwdne329566:0)\"\"\"\n RABBIT: Image\n \"\"\"crwdns329572:0crwdne329572:0 (crwdns329570:0crwdne329570:0)\"\"\"\n COW: Image\n \"\"\"crwdns329576:0crwdne329576:0 (crwdns329574:0crwdne329574:0)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"crwdns329580:0crwdne329580:0 (crwdns329578:0crwdne329578:0)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"crwdns329584:0crwdne329584:0 (crwdns329582:0crwdne329582:0)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"crwdns329588:0crwdne329588:0 (crwdns329586:0crwdne329586:0)\"\"\"\n PITCHFORK: Image\n \"\"\"crwdns329592:0crwdne329592:0 (crwdns329590:0crwdne329590:0)\"\"\"\n XMAS: Image\n \"\"\"crwdns329596:0crwdne329596:0 (crwdns329594:0crwdne329594:0)\"\"\"\n PACMAN: Image\n \"\"\"crwdns329600:0crwdne329600:0 (crwdns329598:0crwdne329598:0)\"\"\"\n TARGET: Image\n \"\"\"crwdns329604:0crwdne329604:0 (crwdns329602:0crwdne329602:0)\"\"\"\n TSHIRT: Image\n \"\"\"crwdns329608:0crwdne329608:0 (crwdns329606:0crwdne329606:0)\"\"\"\n ROLLERSKATE: Image\n \"\"\"crwdns329612:0crwdne329612:0 (crwdns329610:0crwdne329610:0)\"\"\"\n DUCK: Image\n \"\"\"crwdns329616:0crwdne329616:0 (crwdns329614:0crwdne329614:0)\"\"\"\n HOUSE: Image\n \"\"\"crwdns329620:0crwdne329620:0 (crwdns329618:0crwdne329618:0)\"\"\"\n TORTOISE: Image\n \"\"\"crwdns329624:0crwdne329624:0 (crwdns329622:0crwdne329622:0)\"\"\"\n BUTTERFLY: Image\n \"\"\"crwdns329628:0crwdne329628:0 (crwdns329626:0crwdne329626:0)\"\"\"\n STICKFIGURE: Image\n \"\"\"crwdns329632:0crwdne329632:0 (crwdns329630:0crwdne329630:0)\"\"\"\n GHOST: Image\n \"\"\"crwdns329636:0crwdne329636:0 (crwdns329634:0crwdne329634:0)\"\"\"\n SWORD: Image\n \"\"\"crwdns329640:0crwdne329640:0 (crwdns329638:0crwdne329638:0)\"\"\"\n GIRAFFE: Image\n \"\"\"crwdns329644:0crwdne329644:0 (crwdns329642:0crwdne329642:0)\"\"\"\n SKULL: Image\n \"\"\"crwdns329648:0crwdne329648:0 (crwdns329646:0crwdne329646:0)\"\"\"\n UMBRELLA: Image\n \"\"\"crwdns329652:0crwdne329652:0 (crwdns329650:0crwdne329650:0)\"\"\"\n SNAKE: Image\n \"\"\"crwdns329656:0crwdne329656:0 (crwdns329654:0crwdne329654:0)\"\"\"\n SCISSORS: Image\n \"\"\"crwdns335820:0crwdne335820:0 (crwdns335818:0crwdne335818:0)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"crwdns329660:0crwdne329660:0 (crwdns329658:0crwdne329658:0)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"crwdns329664:0crwdne329664:0 (crwdns329662:0crwdne329662:0)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"crwdns329668:0crwdne329668:0 (crwdns329666:0crwdne329666:0)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (crwdns329670:0crwdne329670:0) crwdns329672:0crwdne329672:0\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"crwdns329676:0``width``crwdnd329676:0``height``crwdne329676:0 (crwdns329674:0crwdne329674:0)\n\n:param width: (crwdns329686:0crwdne329686:0) crwdns329688:0crwdne329688:0\n:param height: (crwdns329682:0crwdne329682:0) crwdns329684:0crwdne329684:0\n:param buffer: (crwdns329678:0crwdne329678:0) crwdns329680:0``width``crwdnd329680:0``height``crwdne329680:0\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"crwdns329692:0crwdne329692:0 (crwdns329690:0crwdne329690:0)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"crwdns329696:0crwdne329696:0 (crwdns329694:0crwdne329694:0)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"crwdns329700:0crwdne329700:0 (crwdns329698:0crwdne329698:0)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (crwdns329706:0crwdne329706:0) crwdns329708:0crwdne329708:0\n:param y: (crwdns329710:0crwdne329710:0) crwdns329712:0crwdne329712:0\n:param value: (crwdns329702:0crwdne329702:0) crwdns329704:0crwdne329704:0\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"crwdns329716:0crwdne329716:0 (crwdns329714:0crwdne329714:0)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (crwdns329718:0crwdne329718:0) crwdns329720:0crwdne329720:0\n:param y: (crwdns329722:0crwdne329722:0) crwdns329724:0crwdne329724:0\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"crwdns329728:0crwdne329728:0 (crwdns329726:0crwdne329726:0)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: (crwdns329730:0crwdne329730:0) crwdns329732:0crwdne329732:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"crwdns329736:0crwdne329736:0 (crwdns329734:0crwdne329734:0)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: (crwdns329738:0crwdne329738:0) crwdns329740:0crwdne329740:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"crwdns329744:0crwdne329744:0 (crwdns329742:0crwdne329742:0)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: (crwdns329746:0crwdne329746:0) crwdns329748:0crwdne329748:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"crwdns329752:0crwdne329752:0 (crwdns329750:0crwdne329750:0)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: (crwdns329754:0crwdne329754:0) crwdns329756:0crwdne329756:0\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"crwdns329760:0crwdne329760:0 (crwdns329758:0crwdne329758:0)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (crwdns329770:0crwdne329770:0) crwdns329772:0crwdne329772:0\n:param y: (crwdns329774:0crwdne329774:0) crwdns329776:0crwdne329776:0\n:param w: (crwdns329766:0crwdne329766:0) crwdns329768:0crwdne329768:0\n:param h: (crwdns329762:0crwdne329762:0) crwdns329764:0crwdne329764:0\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"crwdns329780:0crwdne329780:0 (crwdns329778:0crwdne329778:0)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"crwdns329784:0crwdne329784:0 (crwdns329782:0crwdne329782:0)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"crwdns329788:0crwdne329788:0 (crwdns329786:0crwdne329786:0)\n\nExample: ``my_image.fill(5)``\n\n:param value: (crwdns329790:0crwdne329790:0) crwdns329792:0crwdne329792:0\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"crwdns329796:0crwdne329796:0 (crwdns329794:0crwdne329794:0)\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (crwdns329802:0crwdne329802:0) crwdns329804:0crwdne329804:0\n:param x: (crwdns329810:0crwdne329810:0) crwdns329812:0crwdne329812:0\n:param y: (crwdns329818:0crwdne329818:0) crwdns329820:0crwdne329820:0\n:param w: (crwdns329806:0crwdne329806:0) crwdns329808:0crwdne329808:0\n:param h: (crwdns329798:0crwdne329798:0) crwdns329800:0crwdne329800:0\n:param xdest: (crwdns329814:0crwdne329814:0) crwdns329816:0crwdne329816:0\n:param ydest: (crwdns329822:0crwdne329822:0) crwdns329824:0crwdne329824:0\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"crwdns329828:0crwdne329828:0 (crwdns329826:0crwdne329826:0)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"crwdns329832:0crwdne329832:0 (crwdns329830:0crwdne329830:0)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"crwdns329836:0crwdne329836:0 (crwdns329834:0crwdne329834:0)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (crwdns329838:0crwdne329838:0) crwdns329840:0crwdne329840:0\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"crwdns329844:0crwdne329844:0 (crwdns329842:0crwdne329842:0)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (crwdns329846:0crwdne329846:0) crwdns329848:0crwdne329848:0\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"crwdns329852:0``n``crwdne329852:0 (crwdns329850:0crwdne329850:0)\n\nExample: ``Image.HEART * 0.5``\n\n:param n: (crwdns329854:0crwdne329854:0) crwdns329856:0crwdne329856:0\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"crwdns329860:0``n``crwdne329860:0 (crwdns329858:0crwdne329858:0)\n\nExample: ``Image.HEART / 2``\n\n:param n: (crwdns329862:0crwdne329862:0) crwdns329864:0crwdne329864:0\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"crwdns334408:0``quiet``crwdnd334408:0``loud``crwdne334408:0 (crwdns329866:0crwdne329866:0)\"\"\"\n QUIET: SoundEvent\n \"\"\"crwdns334410:0``loud``crwdnd334410:0``quiet``crwdne334410:0 (crwdns329870:0crwdne329870:0)\"\"\"\n\nclass Sound:\n \"\"\"crwdns329876:0``audio.play(Sound.NAME)``crwdne329876:0 (crwdns329874:0crwdne329874:0)\"\"\"\n GIGGLE: Sound\n \"\"\"crwdns329880:0crwdne329880:0 (crwdns329878:0crwdne329878:0)\"\"\"\n HAPPY: Sound\n \"\"\"crwdns329884:0crwdne329884:0 (crwdns329882:0crwdne329882:0)\"\"\"\n HELLO: Sound\n \"\"\"crwdns329888:0crwdne329888:0 (crwdns329886:0crwdne329886:0)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"crwdns329892:0crwdne329892:0 (crwdns329890:0crwdne329890:0)\"\"\"\n SAD: Sound\n \"\"\"crwdns329896:0crwdne329896:0 (crwdns329894:0crwdne329894:0)\"\"\"\n SLIDE: Sound\n \"\"\"crwdns329900:0crwdne329900:0 (crwdns329898:0crwdne329898:0)\"\"\"\n SOARING: Sound\n \"\"\"crwdns329904:0crwdne329904:0 (crwdns329902:0crwdne329902:0)\"\"\"\n SPRING: Sound\n \"\"\"crwdns329908:0crwdne329908:0 (crwdns329906:0crwdne329906:0)\"\"\"\n TWINKLE: Sound\n \"\"\"crwdns329912:0crwdne329912:0 (crwdns329910:0crwdne329910:0)\"\"\"\n YAWN: Sound\n \"\"\"crwdns329916:0crwdne329916:0 (crwdns329914:0crwdne329914:0)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"crwdns329920:0crwdne329920:0 (crwdns329918:0crwdne329918:0)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"crwdns329924:0``x``crwdne329924:0 (crwdns329922:0crwdne329922:0)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"crwdns329928:0``y``crwdne329928:0 (crwdns329926:0crwdne329926:0)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"crwdns329932:0``z``crwdne329932:0 (crwdns329930:0crwdne329930:0)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"crwdns329936:0crwdne329936:0 (crwdns329934:0crwdne329934:0)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"crwdns335824:0crwdne335824:0 (crwdns335822:0crwdne335822:0)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"crwdns329940:0crwdne329940:0 (crwdns329938:0crwdne329938:0)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"crwdns329944:0crwdne329944:0 (crwdns329942:0crwdne329942:0)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (crwdns329946:0crwdne329946:0) crwdns329948:0crwdne329948:0\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"crwdns329952:0crwdne329952:0 (crwdns329950:0crwdne329950:0)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (crwdns329954:0crwdne329954:0) crwdns329956:0crwdne329956:0\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"crwdns329960:0crwdne329960:0 (crwdns329958:0crwdne329958:0)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"crwdns335828:0``2``crwdnd335828:0``4``crwdnd335828:0``8``crwdne335828:0 (crwdns335826:0crwdne335826:0)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (crwdns335830:0crwdne335830:0) crwdns335832:0``g``crwdne335832:0\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"crwdns329964:0``audio``crwdne329964:0 (crwdns329962:0crwdne329962:0)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"crwdns335834:0crwdne335834:0 (crwdns329966:0crwdne329966:0)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (crwdns329978:0crwdne329978:0) crwdns335836:0``Sound``crwdnd335836:0``Sound.GIGGLE``crwdnd335836:0``SoundEffect``crwdnd335836:0``AudioFrame``crwdne335836:0\n:param wait: (crwdns329982:0crwdne329982:0) crwdns329984:0``wait``crwdnd329984:0``True``crwdne329984:0\n:param pin: (crwdns329970:0crwdne329970:0) crwdns329972:0``pin0``crwdne329972:0\n:param return_pin: (crwdns329974:0crwdne329974:0) crwdns329976:0crwdne329976:0\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"crwdns329988:0crwdne329988:0 (crwdns329986:0crwdne329986:0)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"crwdns329992:0crwdne329992:0 (crwdns329990:0crwdne329990:0)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"crwdns335840:0crwdne335840:0 (crwdns335838:0crwdne335838:0)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"crwdns335844:0``waveform``crwdne335844:0 (crwdns335842:0crwdne335842:0)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"crwdns335848:0``waveform``crwdne335848:0 (crwdns335846:0crwdne335846:0)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"crwdns335852:0``waveform``crwdne335852:0 (crwdns335850:0crwdne335850:0)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"crwdns335856:0``waveform``crwdne335856:0 (crwdns335854:0crwdne335854:0)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"crwdns335860:0``waveform``crwdne335860:0 (crwdns335858:0crwdne335858:0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"crwdns335864:0``shape``crwdne335864:0 (crwdns335862:0crwdne335862:0)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"crwdns335868:0``shape``crwdne335868:0 (crwdns335866:0crwdne335866:0)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"crwdns335872:0``shape``crwdne335872:0 (crwdns335870:0crwdne335870:0)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"crwdns335876:0``fx``crwdne335876:0 (crwdns335874:0crwdne335874:0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"crwdns335880:0``fx``crwdne335880:0 (crwdns335878:0crwdne335878:0)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"crwdns335884:0``fx``crwdne335884:0 (crwdns335882:0crwdne335882:0)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"crwdns335888:0``fx``crwdne335888:0 (crwdns335886:0crwdne335886:0)\"\"\"\n freq_start: int\n \"\"\"crwdns335892:0``0``crwdnd335892:0``9999``crwdne335892:0 (crwdns335890:0crwdne335890:0)\"\"\"\n freq_end: int\n \"\"\"crwdns335896:0``0``crwdnd335896:0``9999``crwdne335896:0 (crwdns335894:0crwdne335894:0)\"\"\"\n duration: int\n \"\"\"crwdns335900:0``0``crwdnd335900:0``9999``crwdne335900:0 (crwdns335898:0crwdne335898:0)\"\"\"\n vol_start: int\n \"\"\"crwdns335904:0``0``crwdnd335904:0``255``crwdne335904:0 (crwdns335902:0crwdne335902:0)\"\"\"\n vol_end: int\n \"\"\"crwdns335908:0``0``crwdnd335908:0``255``crwdne335908:0 (crwdns335906:0crwdne335906:0)\"\"\"\n waveform: int\n \"\"\"crwdns335912:0``WAVEFORM_SINE``crwdnd335912:0``WAVEFORM_SAWTOOTH``crwdnd335912:0``WAVEFORM_TRIANGLE``crwdnd335912:0``WAVEFORM_SQUARE``crwdnd335912:0``WAVEFORM_NOISE``crwdne335912:0 (crwdns335910:0crwdne335910:0)\"\"\"\n fx: int\n \"\"\"crwdns335916:0``FX_TREMOLO``crwdnd335916:0``FX_VIBRATO``crwdnd335916:0``FX_WARBLE``crwdnd335916:0``FX_NONE``crwdne335916:0 (crwdns335914:0crwdne335914:0)\"\"\"\n shape: int\n \"\"\"crwdns335920:0``SHAPE_LINEAR``crwdnd335920:0``SHAPE_CURVE``crwdnd335920:0``SHAPE_LOG``crwdne335920:0 (crwdns335918:0crwdne335918:0)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"crwdns335924:0crwdne335924:0 (crwdns335922:0crwdne335922:0)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (crwdns335934:0crwdne335934:0) crwdns335936:0``0``crwdnd335936:0``9999``crwdne335936:0\n:param freq_end: (crwdns335930:0crwdne335930:0) crwdns335932:0``0``crwdnd335932:0``9999``crwdne335932:0\n:param duration: (crwdns335926:0crwdne335926:0) crwdns335928:0``0``crwdnd335928:0``9999``crwdne335928:0\n:param vol_start: (crwdns335950:0crwdne335950:0) crwdns335952:0``0``crwdnd335952:0``255``crwdne335952:0\n:param vol_end: (crwdns335946:0crwdne335946:0) crwdns335948:0``0``crwdnd335948:0``255``crwdne335948:0\n:param waveform: (crwdns335954:0crwdne335954:0) crwdns335956:0``WAVEFORM_SINE``crwdnd335956:0``WAVEFORM_SAWTOOTH``crwdnd335956:0``WAVEFORM_TRIANGLE``crwdnd335956:0``WAVEFORM_SQUARE``crwdnd335956:0``WAVEFORM_NOISE``crwdne335956:0\n:param fx: (crwdns335938:0crwdne335938:0) crwdns335940:0``FX_TREMOLO``crwdnd335940:0``FX_VIBRATO``crwdnd335940:0``FX_WARBLE``crwdnd335940:0``FX_NONE``crwdne335940:0\n:param shape: (crwdns335942:0crwdne335942:0) crwdns335944:0``SHAPE_LINEAR``crwdnd335944:0``SHAPE_CURVE``crwdnd335944:0``SHAPE_LOG``crwdne335944:0\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"crwdns335960:0``SoundEffect``crwdne335960:0 (crwdns335958:0crwdne335958:0)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"crwdns329996:0``AudioFrame``crwdne329996:0 (crwdns329994:0crwdne329994:0)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"crwdns335964:0``AudioFrame``crwdnd335964:0``AudioFrame``crwdne335964:0 (crwdns335962:0crwdne335962:0)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (crwdns335966:0crwdne335966:0) crwdns335968:0``AudioFrame``crwdne335968:0\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -45,7 +45,7 @@ "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"crwdns330240:0crwdne330240:0 (crwdns330238:0crwdne330238:0)\"\"\"\n\ndef off() -> None:\n \"\"\"crwdns330244:0crwdne330244:0 (crwdns330242:0crwdne330242:0)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"crwdns330248:0crwdne330248:0 (crwdns330246:0crwdne330246:0)\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"crwdns330252:0crwdne330252:0 (crwdns330250:0crwdne330250:0)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"crwdns330256:0crwdne330256:0 (crwdns330254:0crwdne330254:0)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (crwdns330258:0crwdne330258:0) crwdns330260:0crwdne330260:0\n:param bits: (crwdns330262:0crwdne330262:0) crwdns334412:0crwdne334412:0\n:param mode: (crwdns330270:0crwdne330270:0) crwdns330272:0crwdne330272:0\n:param sclk: (crwdns330278:0crwdne330278:0) crwdns330280:0crwdne330280:0\n:param mosi: (crwdns330274:0crwdne330274:0) crwdns330276:0crwdne330276:0\n:param miso: (crwdns330266:0crwdne330266:0) crwdns330268:0crwdne330268:0\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"crwdns330284:0``nbytes``crwdnd330284:0``out``crwdne330284:0 (crwdns330282:0crwdne330282:0)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (crwdns330286:0crwdne330286:0) crwdns330288:0crwdne330288:0\n:param out: (crwdns360362:0crwdne360362:0) crwdns360364:0crwdne360364:0\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"crwdns330292:0crwdne330292:0 (crwdns330290:0crwdne330290:0)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (crwdns330294:0crwdne330294:0) crwdns330296:0crwdne330296:0\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"crwdns330300:0``out``crwdnd330300:0``in_``crwdne330300:0 (crwdns330298:0crwdne330298:0)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (crwdns330306:0crwdne330306:0) crwdns330308:0crwdne330308:0\n:param in_: (crwdns330302:0crwdne330302:0) crwdns330304:0crwdne330304:0\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"crwdns330312:0crwdne330312:0 (crwdns330310:0crwdne330310:0)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"crwdns330316:0crwdne330316:0 (crwdns330314:0crwdne330314:0)\"\"\"\nEVEN: int\n\"\"\"crwdns330320:0crwdne330320:0 (crwdns330318:0crwdne330318:0)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"crwdns330324:0crwdne330324:0 (crwdns330322:0crwdne330322:0)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (crwdns330326:0crwdne330326:0) crwdns330328:0crwdne330328:0\n:param bits: (crwdns330330:0crwdne330330:0) crwdns330332:0crwdne330332:0\n:param parity: (crwdns330334:0crwdne330334:0) crwdns330336:0``None``crwdnd330336:0``uart.ODD``crwdnd330336:0``uart.EVEN``crwdne330336:0\n:param stop: (crwdns330342:0crwdne330342:0) crwdns330344:0crwdne330344:0\n:param tx: (crwdns330346:0crwdne330346:0) crwdns330348:0crwdne330348:0\n:param rx: (crwdns330338:0crwdne330338:0) crwdns330340:0crwdne330340:0\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"crwdns334688:0crwdne334688:0 (crwdns330350:0crwdne330350:0)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"crwdns330356:0crwdne330356:0 (crwdns330354:0crwdne330354:0)\n\nExample: ``uart.read()``\n\n:param nbytes: (crwdns330358:0crwdne330358:0) crwdns330360:0``nbytes``crwdne330360:0\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"crwdns330364:0``buf``crwdne330364:0 (crwdns330362:0crwdne330362:0)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (crwdns330366:0crwdne330366:0) crwdns330368:0crwdne330368:0\n:param nbytes: (crwdns330370:0crwdne330370:0) crwdns330372:0``nbytes``crwdnd330372:0``len(buf)``crwdne330372:0\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"crwdns330376:0crwdne330376:0 (crwdns330374:0crwdne330374:0)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"crwdns330380:0crwdne330380:0 (crwdns330378:0crwdne330378:0)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (crwdns330382:0crwdne330382:0) crwdns330384:0crwdne330384:0\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.nl.json b/src/micropython/main/typeshed.nl.json index ff2636483..30cd90468 100644 --- a/src/micropython/main/typeshed.nl.json +++ b/src/micropython/main/typeshed.nl.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pinnen, afbeeldingen, geluiden, temperatuur en volume.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plan om een functie uit te voeren volgens het interval dat gespecificeerd is door het time argument **V2 alleen**. (draai elke)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Functie om op te roepen bij de meegeleverde interval. Weglaten wanneer je als decorator gebruikt.\n:param days: (dagen) Stelt de dag markering in voor de planning.\n:param h: (uur) Stelt de urenmarkering in voor de planning.\n:param min: Stelt de minuut markering in voor de planning.\n:param s: Stelt de seconde markering in voor de planning.\n:param ms: Stelt de milliseconde markering in voor de planning.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Voer een paniekmodus in. (paniek)\n\nExample: ``panic(127)``\n\n:param n: Een willekeurig geheel getal <= 255 om een status aan te geven.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Herstart het bord.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van natuurlijke getallen. (schaal)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van decimale getallen. (schaal)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wacht op ``n`` milliseconden. (slapen)\n\nExample: ``sleep(1000)``\n\n:param n: Het aantal milliseconden te wachten\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Bekijk de looptijd van het bord. (looptijd)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Krijg de temperatuur van de micro:bit in graden Celsius. (temperatuur)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Stelt het volume in. (stel volume in)\n\nExample: ``set_volume(127)``\n\n:param v: een waarde tussen 0 (laag) en 255 (hoog).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"De klasse voor de knoppen ``button_a`` en ``button_b``. (knop)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Controleer of op de knop wordt gedrukt. (is ingedrukt)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Controleer of de knop was ingedrukt sinds het apparaat is gestart of de laatste keer dat deze methode is gebruikt. (was ingedrukt)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Krijg het totale aantal ingedrukte knoppen en reset dit totaal\nnaar nul voordat u terugkeert. (zie knop acties)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Het object van de linker knop ``Button``. (knop a)\"\"\"\nbutton_b: Button\n\"\"\"Het object van de rechter knop ``Button``. (knop b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Een digitale pin\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Haal de digitale waarde van de pincode op. (digitaal lezen)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stel de digitale waarde van de pin in. (digitaal schrijven)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (waarde) 1 om de pin hoog of 0 om de pin laag in te stellen\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Zet de pull-status op een van de drie mogelijke waarden: ``PULL_UP``, ``PULL_DOWN`` of ``NO_PULL``. (pull instellen)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (waarde) De pull-status van de relevante pincode, bijvoorbeeld ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Bekijk de pull status van een pin. (pull instellen)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Geeft de pinmodus weer. (Bekijk modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Voer een PWM-signaal uit op de pin, waarbij de taakcyclus proportioneel is aan ``value``. (analoge schrijven)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (waarde) Een geheel getal of een zwevend punt getal tussen 0 (0% tariefcyclus) en 1023 (100% belasting).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (gebruik analoge periode)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (periode) De periode in milliseconden met een minimale geldige waarde van 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (microseconden analoge periode instellen)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (periode) De periode in microseconden met een minimumwaarde van 256 mres.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Een pin met analoge en digitale functies.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lees de spanning op de pin. (lees analoge)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Een pin met analoge, digitale en touch functies.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Controleer of de pin aangeraakt wordt. (is aangeraakt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Stel de aanraakmodus voor de pin in. (aanraakmodus instellen)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (waarde) ``CAPACITIVE`` of ``RESISTIVE`` van de relevante speler.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en touch functies.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Een aanraak gevoelige logo pin op de voorkant van de micro:bit, die standaard is ingesteld op capacitieve aanraking modus.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Een pin om de micro:bit luidspreker aan te spreken. (pin luidspreker)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Een afbeelding om te laten zien op het micro:bit LED display. (afbeelding)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Hart afbeelding (hart)\"\"\"\n HEART_SMALL: Image\n \"\"\"Klein hart afbeelding. (hart klein)\"\"\"\n HAPPY: Image\n \"\"\"Blije gezichtsafbeelding. (blij)\"\"\"\n SMILE: Image\n \"\"\"Glimlach gezicht afbeelding. (glimlach)\"\"\"\n SAD: Image\n \"\"\"Droevige gezichtsafbeelding. (verdrietig)\"\"\"\n CONFUSED: Image\n \"\"\"Verward gezichtsafbeelding. (verward)\"\"\"\n ANGRY: Image\n \"\"\"Boos gezichtsafbeelding. (kwaad)\"\"\"\n ASLEEP: Image\n \"\"\"Slapend gezicht afbeelding. (in slaap)\"\"\"\n SURPRISED: Image\n \"\"\"Verraste gezichtsafbeelding. (verrast)\"\"\"\n SILLY: Image\n \"\"\"Gek gezichtsafbeelding. (gek)\"\"\"\n FABULOUS: Image\n \"\"\"Zonnebril gezichtsafbeelding. (fantastisch)\"\"\"\n MEH: Image\n \"\"\"Niet onder de indruk gezichtsafbeelding.\"\"\"\n YES: Image\n \"\"\"Aanvinken afbeelding. (ja)\"\"\"\n NO: Image\n \"\"\"Kruis afbeelding. (nee)\"\"\"\n CLOCK12: Image\n \"\"\"Afbeelding met lijn die naar 12.00 uur wijst. (klok 12)\"\"\"\n CLOCK11: Image\n \"\"\"Afbeelding met lijn die naar 11.00 uur wijst. (klok 11)\"\"\"\n CLOCK10: Image\n \"\"\"Afbeelding met lijn die naar 10.00 uur wijst. (klok 10)\"\"\"\n CLOCK9: Image\n \"\"\"Afbeelding met lijn die naar 9.00 uur wijst. (klok 9)\"\"\"\n CLOCK8: Image\n \"\"\"Afbeelding met lijn die naar 8.00 uur wijst. (klok 8)\"\"\"\n CLOCK7: Image\n \"\"\"Afbeelding met lijn die naar 7.00 uur wijst. (klok 7)\"\"\"\n CLOCK6: Image\n \"\"\"Afbeelding met lijn die naar 6.00 uur wijst. (klok 6)\"\"\"\n CLOCK5: Image\n \"\"\"Afbeelding met lijn die naar 5.00 uur wijst. (klok 5)\"\"\"\n CLOCK4: Image\n \"\"\"Afbeelding met lijn die naar 4.00 uur wijst. (klok 4)\"\"\"\n CLOCK3: Image\n \"\"\"Afbeelding met lijn die naar 3.00 uur wijst. (klok 3)\"\"\"\n CLOCK2: Image\n \"\"\"Afbeelding met lijn die naar 2 uur wijst. (klok2)\"\"\"\n CLOCK1: Image\n \"\"\"Afbeelding met lijn die naar 1 uur wijst. (klok1)\"\"\"\n ARROW_N: Image\n \"\"\"Afbeelding van pijl richting het noorden. (pijl n)\"\"\"\n ARROW_NE: Image\n \"\"\"Afbeelding van pijl richting het noord oosten. (pijl NO)\"\"\"\n ARROW_E: Image\n \"\"\"Afbeelding van pijl richting het oosten. (pijl e)\"\"\"\n ARROW_SE: Image\n \"\"\"Afbeelding van pijl richting het zuid-oosten. (pijl ZO)\"\"\"\n ARROW_S: Image\n \"\"\"Afbeelding van pijltje richting het zuiden. (pijl z)\"\"\"\n ARROW_SW: Image\n \"\"\"Afbeelding van pijl richting het zuid-westen. (pijl ZW)\"\"\"\n ARROW_W: Image\n \"\"\"Afbeelding van pijl richting het westen. (pijl w)\"\"\"\n ARROW_NW: Image\n \"\"\"Afbeelding van pijl richting het noord-westen. (pijl NW)\"\"\"\n TRIANGLE: Image\n \"\"\"Afbeelding van een driehoek die naar boven wijst. (driehoek)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Afbeelding van een driehoek in de linker hoek. (Driehoek links)\"\"\"\n CHESSBOARD: Image\n \"\"\"Alternatieve LED's verlichten in een schaakbord patroon. (schaakbord)\"\"\"\n DIAMOND: Image\n \"\"\"Diamanten afbeelding. (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleine diamanten afbeelding. (diamant klein)\"\"\"\n SQUARE: Image\n \"\"\"Vierkante afbeelding (vierkant)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleine vierkante afbeelding. (vierkant klein)\"\"\"\n RABBIT: Image\n \"\"\"Konijn afbeelding. (konijn)\"\"\"\n COW: Image\n \"\"\"Koe afbeelding. (koe)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Koppel van kwartnoten afbeelding. (muziek kwartnoten)\"\"\"\n PITCHFORK: Image\n \"\"\"Stemvork afbeelding. (stemvork)\"\"\"\n XMAS: Image\n \"\"\"Kerstboom afbeelding. (kerstmis)\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man arcade karakterafbeelding. (Pacman)\"\"\"\n TARGET: Image\n \"\"\"Doel afbeelding. (doel)\"\"\"\n TSHIRT: Image\n \"\"\"T-shirt afbeelding.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rolschaats afbeelding. (rolschaatsen)\"\"\"\n DUCK: Image\n \"\"\"Eend afbeelding. (eend)\"\"\"\n HOUSE: Image\n \"\"\"Huis afbeelding. (huis)\"\"\"\n TORTOISE: Image\n \"\"\"Schildpad afbeelding. (schildpad)\"\"\"\n BUTTERFLY: Image\n \"\"\"Vlinder afbeelding. (vlinder)\"\"\"\n STICKFIGURE: Image\n \"\"\"Stok figuur afbeelding. (stok figuur)\"\"\"\n GHOST: Image\n \"\"\"Spook afbeelding. (spook)\"\"\"\n SWORD: Image\n \"\"\"Zwaard afbeelding. (zwaard)\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe afbeelding.\"\"\"\n SKULL: Image\n \"\"\"Schedel afbeelding. (doodshoofd)\"\"\"\n UMBRELLA: Image\n \"\"\"Paraplu afbeelding. (paraplu)\"\"\"\n SNAKE: Image\n \"\"\"Slang afbeelding. (slang)\"\"\"\n SCISSORS: Image\n \"\"\"Schaar afbeelding. (schaar)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Een lijst met alle CLOCK_ afbeeldingen achter elkaar. (alle klokken)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Een lijst met alle ARROW_ afbeeldingen in reeks. (alle pijlen)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Maak een afbeelding van een tekenreeks die beschrijft welke LED's zijn. (initialiseren)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (tekenreeks) De tekenreeks die de afbeelding beschrijft.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Maak een lege afbeelding met ``width`` kolommen en ``height`` rijen. (initialiseren)\n\n:param width: (breedte) Optionele breedte van de afbeelding\n:param height: (hoogte) Optionele hoogte van de afbeelding\n:param buffer: Optionele array of bytes van ``width``\u00d7``height`` integers in bereik 0-9 om de afbeelding te initialiseren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Haal het aantal kolommen op. (breedte)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Krijg het aantal rijen. (hoogte)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van een pixel in. (pixel instellen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:param value: (waarde) De helderheid als een geheel getal tussen 0 (donker) en 9 (helder)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van een pixel. (verkrijg pixel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding naar links te verschuiven. (verschuiving naar links)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding rechts te verschuiven. (verschuif Rechts)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omhoog te schuiven. (verschuiving omhoog)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omlaag te verschuiven. (verschuif omlaag)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding bij te snijden. (bij snijden)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (\u0445) De kolom verschuiving\n:param y: De rij verschuiving\n:param w: De bij snij breedte\n:param h: (uur) Hoogte bijsnijden\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Maak een exacte kopie van de afbeelding. (kopi\u00eber)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van de pixels in de\nbronafbeelding om te draaien. (omkeren)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Stel de helderheid van alle pixels in de afbeelding in. (opvullen)\n\nExample: ``my_image.fill(5)``\n\n:param value: (waarde) De nieuwe helderheid als een getal tussen 0 (donker) en 9 (helder).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopieer een gebied van een andere afbeelding naar deze afbeelding.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: De bron afbeelding\n:param x: (\u0445) De begin kolom offset in de bron afbeelding\n:param y: De beginkolom offset in de bronafbeelding\n:param w: Het aantal te kopi\u00ebren kolommen\n:param h: (uur) Het aantal te kopi\u00ebren rijen\n:param xdest: De kolomverschuiving om aan te passen in deze afbeelding\n:param ydest: De kolomverschuiving om aan te passen in deze afbeelding\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Krijg een compacte tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Krijg een leesbare tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheidswaarden van de twee\nafbeeldingen voor elke pixel toe te voegen. (toevoegen)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (overige) De afbeelding om toe te voegen.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Maak een nieuw beeld door de helderheidswaarden van de andere afbeelding van deze afbeelding af te trekken.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (overige) De afbeelding om af te trekken.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te vermenigvuldigen met\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: De waarde om te vermenigvuldigen.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te delen door\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: De waarde om mee te delen.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``quiet`` tot ``loud`` zoals klappen of roepen. (luid)\"\"\"\n QUIET: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``loud`` tot ``quiet`` zoals spreken of achtergrondmuziek. (stil)\"\"\"\n\nclass Sound:\n \"\"\"De ingebouwde geluiden kunnen worden aangeroepen met ``audio.play(Sound.NAME)``. (geluid)\"\"\"\n GIGGLE: Sound\n \"\"\"Giechelgeluidjes (giechelen)\"\"\"\n HAPPY: Sound\n \"\"\"Blij geluid. (blij)\"\"\"\n HELLO: Sound\n \"\"\"Groet geluid. (hallo)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Mysterieus geluid. (mysterieus)\"\"\"\n SAD: Sound\n \"\"\"Droevig geluid. (verdrietig)\"\"\"\n SLIDE: Sound\n \"\"\"Glij geluid. (Veeg)\"\"\"\n SOARING: Sound\n \"\"\"Zweef geluid. (stijgend)\"\"\"\n SPRING: Sound\n \"\"\"Spring geluid. (veer)\"\"\"\n TWINKLE: Sound\n \"\"\"Twinkel geluid. (twinkeling)\"\"\"\n YAWN: Sound\n \"\"\"Geeuwgeluiden (geeuw)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Meet de versnelling van de micro:bit en herken gebaren. (acceleratiemeter)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``x`` as in milli-g. (krijg x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``y`` as in milli-g. (krijg y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de acceleratiemeter meting in de ``z`` as in milli-g. (krijg z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Verkrijg de acceleratiemeter metingen in alle assen tegelijk als een tupel. (krijg waarden)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Krijg de versnelling meting van alle assen gecombineerd, als een positief getal. Dit is de Pythagorische som van de X, Y en Z assen. (krijg sterkte)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Verkrijg de naam van het huidige gebaar. (huidig gebaar)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar momenteel actief is. (is gebaren)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar actief was sinds het laatste gesprek. (was gebaren)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Geeft als resultaat een reeks van de gebaren geschiedenis. (verkrijg gebaren)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Stel het gevoeligheidsbereik van de acceleratiemeter, in g (standaard zwaartekracht), in op de dichtstbijzijnde waarden die door de hardware worden ondersteund, zodat het wordt afgerond op ``2``, ``4`` of ``8`` g. (kies bereik)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (waarde) Nieuwe bereik voor de acceleratiemeter, een geheel getal in ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Geluid afspelen met behulp van de micro:bit (importeer ``audio`` voor V1 compatibiliteit).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Een ingebouwde geluid, geluids effect of aangepaste audio frames afspelen. (afspelen)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (bron) Een ingebouwde ``Sound`` zoals ``Sound.GIGGLE``, een ``SoundEffect`` of voorbeeldgegevens als een iteratie van ``AudioFrame`` objecten.\n:param wait: (wacht) Als ``wait`` ``True``is, wordt deze functie geblokkeerd totdat het geluid is voltooid.\n:param pin: Een optioneel argument om de uitvoerpin op te geven kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken.\n:param return_pin: (retourneer pin) Specificeert een differenti\u00eble rand connector pin om verbinding te maken met een externe luidspreker in plaats van de grond. Dit wordt genegeerd voor de **V2** herziening.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Controleer of een geluid wordt gespeeld. (speelt af)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop het afspelen van de audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Een geluidseffect, bestaande uit een set parameters geconfigureerd via de constructor of attributen.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"De sinusgolf optie gebruikt voor de ``waveform`` parameter. (golfvorm sinus)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Zaag golf optie gebruikt voor de ``waveform`` parameter. (golfvorm zaagtand)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"De drie hoeks golf optie gebruikt voor de ``waveform`` parameter. (golfvorm driehoek)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Blok golf optie die wordt gebruikt voor de parameter ``waveform``. (golfvorm vierkant)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise optie gebruikt voor de ``waveform`` parameter. (golfvormig geluid)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineaire interpolatie optie die wordt gebruikt voor de ``shape`` parameter. (vorm lineair)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolatie optie gebruikt voor de ``shape`` parameter. (vorm curve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logaritmische interpolatie optie gebruikt voor de ``shape`` parameter. (vorm log)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Geen effectoptie gebruikt voor de ``fx`` parameter. (geen fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect optie die wordt gebruikt voor de ``fx`` parameter .\"\"\"\n freq_start: int\n \"\"\"Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie start)\"\"\"\n freq_end: int\n \"\"\"Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie einde)\"\"\"\n duration: int\n \"\"\"Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999`` (Duur)\"\"\"\n vol_start: int\n \"\"\"Start volume waarde, een getal tussen ``0`` en ``255``\"\"\"\n vol_end: int\n \"\"\"Eind volume waarde, een getal tussen ``0`` en ``255`` (vol einde)\"\"\"\n waveform: int\n \"\"\"Type van golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde lawaai) (golfvorm)\"\"\"\n fx: int\n \"\"\"Effect om aan het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (vorm)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Maak een nieuw geluidseffect. (initialiseren)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frequentie start) Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param freq_end: (frequentie einde) Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param duration: (duur) Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999``.\n:param vol_start: Startvolumewaarde, een getal tussen ``0`` en ``255``.\n:param vol_end: (vol einde) Eindvolumewaarde, een getal tussen ``0`` en ``255``.\n:param waveform: (golfvorm) Type golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde geluid).\n:param fx: Effect om het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``.\n:param shape: (vorm) Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Maak een kopie van dit ``SoundEffect``. (kopi\u00eber)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Een ``AudioFrame`` object is een lijst van 32 samples elk een niet-ondertekende byte\n(geheel getal tussen 0 en 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overschrijf de gegevens in deze ``AudioFrame`` met de gegevens van een andere ``AudioFrame`` instantie. (kopieer van)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (overige) ``AudioFrame`` exemplaar van waar de gegevens worden gekopieerd.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reageer op geluid met de ingebouwde microfoon (V2 alleen). (microfoon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Krijg de laatst opgenomen geluidsgebeurtenis (huidige gebeurtenis)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Controleer of een geluid tenminste \u00e9\u00e9n keer is gehoord sinds het laatste gesprek.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Controleer de meest recente geluidsgebeurtenis gedetecteerd.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Krijg de geluidsgeschiedenis als tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Stel de drempel in voor een geluidsgebeurtenis. (stel drempelwaarde in)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (gebeurtenis) Een geluidsgebeurtenis, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``.\n:param value: (waarde) Het drempelniveau in het bereik 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Krijg het Geluidsdrukniveau. (geluidsniveau)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Beheer de ingebouwde luidspreker (alleen V2). (luidspreker)\"\"\"\n\ndef off() -> None:\n \"\"\"Luidspreker uitschakelen. (uit)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Luidspreker inschakelen (aan)\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:param out: (uit) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lees minstens ``nbytes`` terwijl het enkele byte gegeven in ``out`` continu geschreven wordt. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:param out: (uit) De byte-waarde om te schrijven (standaard 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiceer met een apparaat via een seri\u00eble interface.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Oneven pariteit (oneven)\"\"\"\nEVEN: int\n\"\"\"Even pariteit\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiseer seri\u00eble communicatie. (initialiseren)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De grootte van de bytes die worden verzonden. micro:bit ondersteunt slechts 8.\n:param parity: (pariteit) Hoe de pariteit is aangevinkt, ``None``, ``uart.ODD`` of ``uart.EVEN``.\n:param stop: Het aantal stop bits, moet 1 zijn voor micro:bit.\n:param tx: Verzend pin.\n:param rx: Ontvangende pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Controleer of er nog gegevens staan te wachten. (elke)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``uart.read()``\n\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan maximaal zoveel bytes, anders lees zo veel mogelijk bytes\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lees bytes in de ``buf``. (inlezen)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: De buffer om naar te schrijven.\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan hooguit zoveel bytes, anders lees ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lees een regel, eindigend in een nieuw karakter regel. (leesregel)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Een bytes object of een tekenreeks.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.pl.json b/src/micropython/main/typeshed.pl.json index 361c82072..673b6df5e 100644 --- a/src/micropython/main/typeshed.pl.json +++ b/src/micropython/main/typeshed.pl.json @@ -7,7 +7,7 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Steruj zbieraniem sieci\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"W\u0142\u0105cz automatyczne zbieranie \u015bmieci.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Wy\u0142\u0105cz automatyczne zbieranie \u015bmieci.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Uruchom zbieranie \u015bmieci.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Znajd\u017a liczb\u0119 przydzielonych bajt\u00f3w sterty pami\u0119ci RAM.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Znajd\u017a liczb\u0119 bajt\u00f3w dost\u0119pnej sterty pami\u0119ci RAM lub -1, je\u015bli ta liczba nie jest znana.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Zapytanie o dodatkowy pr\u00f3g przydzia\u0142u GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Ustaw pr\u00f3g dodatkowego przydzia\u0142u GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Liczba bajt\u00f3w, po kt\u00f3rych powinno zosta\u0107 uruchomione zbieranie \u015bmieci.\"\"\"\n ...", + "/typeshed/stdlib/gc.pyi": "\"\"\"Steruj zbieraniem \u015bmieci\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"W\u0142\u0105cz automatyczne zbieranie \u015bmieci.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Wy\u0142\u0105cz automatyczne zbieranie \u015bmieci.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Uruchom zbieranie \u015bmieci.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Znajd\u017a liczb\u0119 przydzielonych bajt\u00f3w sterty pami\u0119ci RAM.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Znajd\u017a liczb\u0119 bajt\u00f3w dost\u0119pnej sterty pami\u0119ci RAM lub -1, je\u015bli ta liczba nie jest znana.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Zapytanie o dodatkowy pr\u00f3g przydzia\u0142u GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Ustaw pr\u00f3g dodatkowego przydzia\u0142u GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Liczba bajt\u00f3w, po kt\u00f3rych powinno zosta\u0107 uruchomione zbieranie \u015bmieci.\"\"\"\n ...", "/typeshed/stdlib/log.pyi": "\"\"\"Zaloguj dane do swojego micro:bita V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format znacznika czasu w milisekundach.\"\"\"\nSECONDS = 10\n\"\"\"Format znacznika czasu w sekundach.\"\"\"\nMINUTES = 600\n\"\"\"Format znacznika czasu w minutach.\"\"\"\nHOURS = 36000\n\"\"\"Format znacznika czasu w godzinach.\"\"\"\nDAYS = 864000\n\"\"\"Format znacznika czasu w dniach.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Ustaw nag\u0142\u00f3wek pliku dziennika.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Dowolna liczba argument\u00f3w pozycyjnych, ka\u017cdy odpowiadaj\u0105cy wpisowi w nag\u0142\u00f3wku dziennika.\n:param timestamp: Wybierz jednostk\u0119 znacznika czasu, kt\u00f3ra b\u0119dzie automatycznie dodana jako pierwsza kolumna w ka\u017cdym wierszu. Warto\u015bci znacznika czasu mog\u0105 by\u0107 jedn\u0105 z ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` lub ``None``, aby wy\u0142\u0105czy\u0107 znacznik czasu. Warto\u015bci\u0105 domy\u015bln\u0105 jest ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika poprzez podanie s\u0142ownika nag\u0142\u00f3wk\u00f3w i warto\u015bci.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: Dane do logowania jako s\u0142ownik z kluczem dla ka\u017cdego nag\u0142\u00f3wka.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika u\u017cywaj\u0105c argument\u00f3w s\u0142\u00f3w kluczowych. (dodaj)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Usuwa zawarto\u015b\u0107 wpisu, w tym nag\u0142\u00f3wki.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` wybiera usuni\u0119cie \"pe\u0142ne\" i ``False`` wybiera metod\u0119 \"szybkiego\" usuni\u0119cia.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Skonfiguruj lustrzane odbicie logowania danych do wyj\u015bcia szeregowego.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` umo\u017cliwia odbicie lustrzane danych na szeregowe wyj\u015bcie.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", "/typeshed/stdlib/machine.pyi": "\"\"\"Narz\u0119dzia niskiego poziomu.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Pobierz ci\u0105g bajt\u00f3w z unikatowym identyfikatorem p\u0142ytki.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Zresetuj urz\u0105dzenie w spos\u00f3b podobny do naci\u015bni\u0119cia zewn\u0119trznego przycisku RESET.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Uzyskaj cz\u0119stotliwo\u015b\u0107 procesora w hercach\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Wy\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Ponownie w\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Warto\u015b\u0107, kt\u00f3ra zosta\u0142a zwr\u00f3cona z ostatniego wywo\u0142ania funkcji ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Czas pulsowania na pinie.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Pin do u\u017cycia\n:param pulse_level: 0 do czasu niskiego pulsu lub 1 do czasu wysokiego pulsu\n:param timeout_us: Mikrosekundowy limit czasu\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Klasa dla widok\u00f3w pami\u0119ci ``mem8``, ``mem16`` i ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Uzyskaj dost\u0119p do warto\u015bci z pami\u0119ci.\n\n:param address: Adres pami\u0119ci.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Ustaw warto\u015b\u0107 dla podanego adresu.\n\n:param address: Adres pami\u0119ci.\n:param value: Warto\u015b\u0107 ca\u0142kowita do ustawiania.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bitowy widok pami\u0119ci.\"\"\"\nmem16: mem\n\"\"\"16-bitowy widok pami\u0119ci.\"\"\"\nmem32: mem\n\"\"\"32-bitowy widok pami\u0119ci.\"\"\"", @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Piny, obrazy, d\u017awi\u0119ki, temperatura i g\u0142o\u015bno\u015b\u0107.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Zaplanuj uruchomienie funkcji w przedziale okre\u015blonym przez argumenty czasu **tylko V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funkcja wywo\u0142ywana w podanym przedziale. Pomi\u0144, je\u015bli u\u017cywasz jako dekorator.\n:param days: Ustawia oznaczenie dnia dla harmonogramu.\n:param h: Ustawia znak godziny dla harmonogramu.\n:param min: Ustawia znak minuty dla harmonogramu.\n:param s: Ustawia znak sekundy dla harmonogramu.\n:param ms: Ustawia znak milisekundy dla harmonogramu.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Wejd\u017a w tryb paniki.\n\nExample: ``panic(127)``\n\n:param n: Dowolna liczba ca\u0142kowita <= 255 dla wskazania statusu.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Uruchom ponownie p\u0142ytk\u0119.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu liczb ca\u0142kowitych.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu dla konwersji do.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu o zmiennopozycyjnego.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu, na jaki konwertowa\u0107.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Poczekaj ``n`` milisekund.\n\nExample: ``sleep(1000)``\n\n:param n: Liczba milisekund oczekiwania\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Uzyskaj czas pracy p\u0142ytki.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Uzyskaj temperatur\u0119 micro:bita w stopniach Celsjusza.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Ustawia g\u0142o\u015bno\u015b\u0107.\n\nExample: ``set_volume(127)``\n\n:param v: warto\u015b\u0107 mi\u0119dzy 0 (niska) a 255 (wysoka).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Klasa dla przycisk\u00f3w ``button_a`` i ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk jest naci\u015bni\u0119ty.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk zosta\u0142 naci\u015bni\u0119ty od momentu uruchomienia urz\u0105dzenia lub kiedy ta metoda zosta\u0142a wywo\u0142ana.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Pobierz sum\u0119 naci\u015bni\u0119\u0107 przycisk\u00f3w i zresetuje t\u0119 sum\u0119\ndo zera przed powrotem.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Lewy przycisk ``Button`` obiekt.\"\"\"\nbutton_b: Button\n\"\"\"Prawy przycisk ``Button`` obiekt.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Cyfrowy pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Uzyskaj cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Ustaw cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1, aby ustawi\u0107 wysok\u0105 warto\u015b\u0107 pinu lub 0, aby ustawi\u0107 nisk\u0105 warto\u015b\u0107 pinu\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Ustaw stan ci\u0105gni\u0119cia na jedn\u0105 z trzech mo\u017cliwych warto\u015bci: ``PULL_UP``, ``PULL_DOWN`` lub ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: Stan ci\u0105gni\u0119cia z odpowiedniego pinu, np. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Uzyskaj stan cigni\u0119cia na pinie.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Zwraca tryb pinu.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Wysy\u0142aj sygna\u0142 PWM na pin, z cyklem pracy proporcjonalnym do ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Liczba ca\u0142kowita lub liczba zmiennopozycyjna mi\u0119dzy 0 (0% cyklu pracy) a 1023 (100% cyklu pracy).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w milisekundach.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: Okres w milisekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w mikrosekundach. (ustaw mikrosekundy okresu analogowego)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: Okres w mikrosekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Pin z funkcjami analogowymi i cyfrowymi.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Odczytaj napi\u0119cie przy\u0142o\u017cone do pinu.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Pin z funkcjami analogowymi, cyfrowymi i dotykowymi.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Sprawd\u017a, czy pin zosta\u0142 dotkni\u0119ty.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Ustaw tryb dotykowy dla pinu.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` lub ``RESISTIVE`` z odpowiedniego pinu.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Wra\u017cliwy na dotyk pin z logo z przodu micro:bita, kt\u00f3ry domy\u015blnie jest ustawiony na pojemno\u015bciowy tryb dotykowy.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Pin adresuj\u0105cy g\u0142o\u015bnik micro:bita.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Obraz wy\u015bwietlany na wy\u015bwietlaczu LED micro:bita.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Obraz serca.\"\"\"\n HEART_SMALL: Image\n \"\"\"Obraz ma\u0142ego serca.\"\"\"\n HAPPY: Image\n \"\"\"Obraz szcz\u0119\u015bliwej twarzy.\"\"\"\n SMILE: Image\n \"\"\"Obraz u\u015bmiechni\u0119tej twarzy.\"\"\"\n SAD: Image\n \"\"\"Obraz smutnej twarzy.\"\"\"\n CONFUSED: Image\n \"\"\"Obraz zmieszanej twarzy.\"\"\"\n ANGRY: Image\n \"\"\"Obraz z\u0142ej twarzy.\"\"\"\n ASLEEP: Image\n \"\"\"Obraz \u015bpi\u0105cej twarzy.\"\"\"\n SURPRISED: Image\n \"\"\"Obraz zaskoczonej twarzy.\"\"\"\n SILLY: Image\n \"\"\"Obraz g\u0142upiej twarzy.\"\"\"\n FABULOUS: Image\n \"\"\"Obraz twarzy w okularach przeciws\u0142onecznych.\"\"\"\n MEH: Image\n \"\"\"Obraz niewzruszonej twarzy.\"\"\"\n YES: Image\n \"\"\"Haczyk na TAK.\"\"\"\n NO: Image\n \"\"\"Krzy\u017cyk na NIE.\"\"\"\n CLOCK12: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 12.\"\"\"\n CLOCK11: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 11.\"\"\"\n CLOCK10: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 10.\"\"\"\n CLOCK9: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 9.\"\"\"\n CLOCK8: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 8.\"\"\"\n CLOCK7: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 7.\"\"\"\n CLOCK6: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 6.\"\"\"\n CLOCK5: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 5.\"\"\"\n CLOCK4: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 4.\"\"\"\n CLOCK3: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 3.\"\"\"\n CLOCK2: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 2.\"\"\"\n CLOCK1: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 1.\"\"\"\n ARROW_N: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142noc.\"\"\"\n ARROW_NE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny wsch\u00f3d.\"\"\"\n ARROW_E: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej wsch\u00f3d.\"\"\"\n ARROW_SE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy wsch\u00f3d.\"\"\"\n ARROW_S: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udnie.\"\"\"\n ARROW_SW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy zach\u00f3d.\"\"\"\n ARROW_W: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej zach\u00f3d.\"\"\"\n ARROW_NW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny zach\u00f3d.\"\"\"\n TRIANGLE: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta skierowanego do g\u00f3ry.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta w lewym rogu.\"\"\"\n CHESSBOARD: Image\n \"\"\"Diody LED \u015bwiec\u0105 naprzemiennie w uk\u0142adzie szachownicy.\"\"\"\n DIAMOND: Image\n \"\"\"Obraz diamentu.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Obraz ma\u0142ego diamentu.\"\"\"\n SQUARE: Image\n \"\"\"Obraz kwadratu.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Obraz ma\u0142ego kwadratu.\"\"\"\n RABBIT: Image\n \"\"\"Obraz kr\u00f3lika.\"\"\"\n COW: Image\n \"\"\"Obraz krowy.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Obraz \u0107wier\u0107nuty.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Obraz nuty \u00f3semki.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Obraz pary nut \u00f3semek.\"\"\"\n PITCHFORK: Image\n \"\"\"Obraz kamertonu.\"\"\"\n XMAS: Image\n \"\"\"Obraz choinki.\"\"\"\n PACMAN: Image\n \"\"\"Obrazek postaci arcade Pac-Man\"\"\"\n TARGET: Image\n \"\"\"Obraz celu.\"\"\"\n TSHIRT: Image\n \"\"\"Obraz t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Obraz Rollerskate.\"\"\"\n DUCK: Image\n \"\"\"Obraz kaczki.\"\"\"\n HOUSE: Image\n \"\"\"Obraz domu.\"\"\"\n TORTOISE: Image\n \"\"\"Obraz \u017c\u00f3\u0142wia.\"\"\"\n BUTTERFLY: Image\n \"\"\"Obraz motyla.\"\"\"\n STICKFIGURE: Image\n \"\"\"Obraz przyklejonej figury.\"\"\"\n GHOST: Image\n \"\"\"Obraz ducha.\"\"\"\n SWORD: Image\n \"\"\"Obraz miecza.\"\"\"\n GIRAFFE: Image\n \"\"\"Obraz \u017cyrafy.\"\"\"\n SKULL: Image\n \"\"\"Obraz czaszki.\"\"\"\n UMBRELLA: Image\n \"\"\"Obraz parasola.\"\"\"\n SNAKE: Image\n \"\"\"Obraz w\u0119\u017ca.\"\"\"\n SCISSORS: Image\n \"\"\"Obraz no\u017cyczek.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy CLOCK_ po kolei.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy ARROW_ po kolei.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Utw\u00f3rz obraz z \u0142a\u0144cucha opisuj\u0105cego, kt\u00f3re diody LED s\u0105 zapalone.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u0141a\u0144cuch opisuj\u0105cy obraz.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Utw\u00f3rz pusty obraz z ``width`` kolumnami i ``height`` wierszami.\n\n:param width: Opcjonalna szeroko\u015b\u0107 obrazu\n:param height: Opcjonalna wysoko\u015b\u0107 obrazu\n:param buffer: Opcjonalna tablica lub bajty ``width``\u00d7``height`` liczb ca\u0142kowitych w zakresie 0-9 do zainicjowania obrazu\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ustal liczb\u0119 kolumn\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Uzyskaj liczb\u0119 wierszy\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 piksela.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:param value: Jasno\u015b\u0107 jako liczba ca\u0142kowita mi\u0119dzy 0 (ciemny) i 9 (jasna)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"uzyskaj jasno\u015b\u0107 piksela.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przesuwaj\u0105c ten obraz w lewo.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c ten obraz w prawo.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do g\u00f3ry.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do do\u0142u.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez przyci\u0119cie zdj\u0119cia.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Kolumna przesuni\u0119cia przyci\u0119cia\n:param y: Wiersz przesuni\u0119cia przyci\u0119cia\n:param w: Szeroko\u015b\u0107 przyci\u0119cia\n:param h: Wysoko\u015b\u0107 przyci\u0119cia\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Utw\u00f3rz dok\u0142adn\u0105 kopi\u0119 obrazu.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez odwr\u00f3cenie jasno\u015bci pikseli w obrazie \u017ar\u00f3d\u0142owym.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 wszystkich pikseli obrazka.\n\nExample: ``my_image.fill(5)``\n\n:param value: Nowa jasno\u015b\u0107 jako liczba mi\u0119dzy 0 (ciemny) a 9 (jasny).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Skopiuj obszar z innego obrazu na ten obraz.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Zdj\u0119cie \u017ar\u00f3d\u0142owe\n:param x: Pocz\u0105tkowe przesuni\u0119cie kolumny w obrazie \u017ar\u00f3d\u0142owym\n:param y: Pocz\u0105tkowe przesuni\u0119cie wiersza na obrazie \u017ar\u00f3d\u0142owym\n:param w: Liczba kolumn do skopiowania\n:param h: Liczba wierszy do skopiowania\n:param xdest: Przesuni\u0119cie kolumny do modyfikacji na tym obrazie\n:param ydest: Przesuni\u0119cie wiersza do modyfikacji na tym obrazie\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Uzyskaj kompaktow\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Uzyskaj czyteln\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dodaj\u0105c warto\u015bci jasno\u015bci z dw\u00f3ch\nobraz\u00f3w dla ka\u017cdego piksela.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Obraz do dodania.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, odejmuj\u0105c warto\u015bci jasno\u015bci\ninnego obrazu od tego obrazu.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Obraz do odj\u0119cia.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, mno\u017c\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Warto\u015b\u0107 do mno\u017cenia przez.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dziel\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: Warto\u015b\u0107 do dzielenia przez.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``quiet`` do ``loud``, jak klaskanie lub krzyczenie.\"\"\"\n QUIET: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``loud`` do ``quiet``, jak m\u00f3wienie lub muzyka w tle.\"\"\"\n\nclass Sound:\n \"\"\"Wbudowane d\u017awi\u0119ki mo\u017cna wywo\u0142a\u0107 za pomoc\u0105 ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Chichocz\u0105cy d\u017awi\u0119k.\"\"\"\n HAPPY: Sound\n \"\"\"Szcz\u0119\u015bliwy d\u017awi\u0119k.\"\"\"\n HELLO: Sound\n \"\"\"D\u017awi\u0119k powitania.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Tajemniczy d\u017awi\u0119k.\"\"\"\n SAD: Sound\n \"\"\"Smutny d\u017awi\u0119k.\"\"\"\n SLIDE: Sound\n \"\"\"Przesuwaj\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SOARING: Sound\n \"\"\"Wznosz\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SPRING: Sound\n \"\"\"Wiosny d\u017awi\u0119k.\"\"\"\n TWINKLE: Sound\n \"\"\"Migocz\u0105cy d\u017awi\u0119k.\"\"\"\n YAWN: Sound\n \"\"\"D\u017awi\u0119k ziewania.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Zmierz przyspieszenie micro:bita i rozpoznawaj gesty.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``x`` w mili-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``y`` w mili-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``z`` w mili-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Uzyskaj pomiary przyspieszenia na wszystkich osiach jednocze\u015bnie, jako krotk\u0119.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia wszystkich osi \u0142\u0105cznie jako dodatni\u0105 liczb\u0119 ca\u0142kowit\u0105. Jest to suma pitagorejska osi X, Y i Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Pobierz nazw\u0119 aktualnego gestu.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest jest aktualnie aktywny.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest by\u0142 aktywny od ostatniego po\u0142\u0105czenia.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Zwr\u00f3\u0107 krotk\u0119 historii gest\u00f3w.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Ustaw zakres czu\u0142o\u015bci akcelerometru w g (standardowa grawitacja) na najbli\u017csze warto\u015bci obs\u0142ugiwane przez sprz\u0119t tak, aby zaokr\u0105gla\u0142 si\u0119 do ``2``, ``4`` lub ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nowy zakres dla akcelerometru, liczba ca\u0142kowita w ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Odtwarzaj d\u017awi\u0119ki za pomoc\u0105 micro:bita (importuj ``audio`` dla kompatybilno\u015bci V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Odtw\u00f3rz wbudowany d\u017awi\u0119k, efekt d\u017awi\u0119kowy lub niestandardowe ramki audio.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Wbudowany ``Sound``, taki jak ``Sound.GIGGLE``, ``SoundEffect`` lub przyk\u0142adowe dane jako iteracja obiekt\u00f3w ``AudioFrame``.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c d\u017awi\u0119k zostanie zako\u0144czony.\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``. Je\u015bli nie chcemy, aby \u017caden d\u017awi\u0119k nie by\u0142 odtwarzany, mo\u017cemy u\u017cy\u0107 ``pin=None``.\n:param return_pin: Okre\u015bla pin \u0142\u0105cznika r\u00f3\u017cnicowego, aby pod\u0142\u0105czy\u0107 p\u0142ytk\u0119 do zewn\u0119trznego g\u0142o\u015bnika zamiast do ziemi. Jest to ignorowane dla **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k jest odtwarzany.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Zatrzymaj odtwarzania audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Efekt d\u017awi\u0119kowy, utworzony przez zestaw parametr\u00f3w skonfigurowanych za pomoc\u0105 konstruktora lub atrybut\u00f3w.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opcja sinusoidalnej fali u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opcja fali pi\u0142okszta\u0142tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opcja fali tr\u00f3jk\u0105tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opcja fali kwadratowj u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opcja szumu u\u017cywana dla parametru ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opcja interpolacji liniowej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opcja interpolacji krzywej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opcja interpolacji logarytmicznej u\u017cywana dla parametru ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opcja braku efektu u\u017cyta dla parametru ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opcja efektu Tremelo u\u017cyta dla parametru ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opcja efektu Vibrato u\u017cyta dla parametru ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opcja efektu Warble u\u017cyta dla parametru ``fx``.\"\"\"\n freq_start: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n freq_end: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n duration: int\n \"\"\"Czas trwania d\u017awi\u0119ku w milisekundach, liczba pomi\u0119dzy ``0`` i ``9999``\"\"\"\n vol_start: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci pocz\u0105tkowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n vol_end: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci ko\u0144cowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n waveform: int\n \"\"\"Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci:``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum)\"\"\"\n fx: int\n \"\"\"Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Utw\u00f3rz nowy efekt d\u017awi\u0119kowy.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param freq_end: Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param duration: Czas trwania d\u017awi\u0119ku w milisekundach, liczba mi\u0119dzy ``0`` i ``9999``.\n:param vol_start: Pocz\u0105tkowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param vol_end: Ko\u0144cowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param waveform: Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum).\n:param fx: Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``.\n:param shape: Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Utw\u00f3rz kopi\u0119 ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Obiekt ``AudioFrame`` jest list\u0105 32 pr\u00f3bek, z kt\u00f3rych ka\u017cda jest niepodpisanym bajtem (liczba ca\u0142kowita mi\u0119dzy 0 a 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Zast\u0105p dane w tym ``AudioFrame`` danymi z innej instancji ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instancja ``AudioFrame``, z kt\u00f3rej skopiowane s\u0105 dane.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -43,9 +43,9 @@ "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 protoko\u0142u magistrali I2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Ponownie zainicjuj peryferia.\n\nExample: ``i2c.init()``\n\n:param freq: clock frequency\n:param sda: ``sda`` pin (domy\u015blnie 20)\n:param scl: ``scl`` pin (domy\u015blnie 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Przeskanuj magistral\u0119 w poszukiwaniu urz\u0105dze\u0144.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Odczytaj bajty z urz\u0105dzenia..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param n: Liczba bajt\u00f3w do odczytu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Zapisz bajty na urz\u0105dzenie.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param buf: Bufor zawieraj\u0105cy bajty do zapisu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Odpowiedz na d\u017awi\u0119k przy u\u017cyciu wbudowanego mikrofonu (tylko V2).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Pobierz ostatnie nagrane zdarzenie d\u017awi\u0119kowe\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k by\u0142 s\u0142yszany co najmniej raz od ostatniego po\u0142\u0105czenia.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a najnowsze wykryte zdarzenie d\u017awi\u0119kowe.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Pobierz histori\u0119 zdarze\u0144 d\u017awi\u0119kowych jako krotk\u0119.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Ustaw pr\u00f3g dla zdarzenia d\u017awi\u0119kowego.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Zdarzenie d\u017awi\u0119kowe, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``.\n:param value: Poziom progu w zakresie 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Uzyskaj poziom ci\u015bnienia akustycznego.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Sprawd\u017a wbudowany g\u0142o\u015bnik (tylko V2).\"\"\"\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.on()``\"\"\"\n ...", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 magistrali szeregowego interfejsu (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Szeroko\u015b\u0107 w bitach ka\u017cdego transferu. Obecnie obs\u0142ugiwanych jest tylko ``bits=8``. Mo\u017ce to jednak ulec zmianie w przysz\u0142o\u015bci.\n:param mode: Okre\u015bla po\u0142\u0105czenie polarno\u015bci zegara i fazy - `zobacz tabel\u0119 online `_.\n:param sclk: pin sclk (domy\u015blnie 13)\n:param mosi: pin mosi (domy\u015blnie 15)\n:param miso: pin miso (domy\u015blnie 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Czytaj bajty.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maksymalna liczba bajt\u00f3w do odczytu.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Zapisz bajty na magistrali.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Bufor do odczytu danych.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Zapisz bufor ``out`` do magistrali i wczytaj dowoln\u0105 odpowied\u017a do bufora ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Bufor do zapisu dowolnej odpowiedzi.\n:param in_: Bufor do odczytu danych.\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 magistrali szeregowego interfejsu (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Szeroko\u015b\u0107 w bitach ka\u017cdego transferu. Obecnie obs\u0142ugiwanych jest tylko ``bits=8``. Mo\u017ce to jednak ulec zmianie w przysz\u0142o\u015bci.\n:param mode: Okre\u015bla po\u0142\u0105czenie polarno\u015bci zegara i fazy - `zobacz tabel\u0119 online `_.\n:param sclk: pin sclk (domy\u015blnie 13)\n:param mosi: pin mosi (domy\u015blnie 15)\n:param miso: pin miso (domy\u015blnie 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Przeczytaj co najwy\u017cej ``nbytes`` podczas ci\u0105g\u0142ego pisania pojedynczego bajtu danego przez ``out``.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maksymalna liczba bajt\u00f3w do odczytu.\n:param out: Warto\u015b\u0107 bajtu do zapisu (domy\u015blnie 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Zapisz bajty na magistrali.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Bufor do odczytu danych.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Zapisz bufor ``out`` do magistrali i wczytaj dowoln\u0105 odpowied\u017a do bufora ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Bufor do zapisu dowolnej odpowiedzi.\n:param in_: Bufor do odczytu danych.\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniem za pomoc\u0105 interfejsu szeregowego.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Nieparzysta parzysto\u015b\u0107\"\"\"\nEVEN: int\n\"\"\"Parzysta parzysto\u015b\u0107\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 seryjn\u0105.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Rozmiar przesy\u0142anych bajt\u00f3w. micro:bit obs\u0142uguje tylko 8.\n:param parity: Jak sprawdzana jest parzysto\u015b\u0107, ``None``, ``uart.ODD`` lub ``uart.EVEN``.\n:param stop: Liczba bit\u00f3w stopu musi wynosi\u0107 1 dla micro:bita.\n:param tx: Transmituj\u0105c pin.\n:param rx: Odbieranie pinu.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Sprawd\u017a, czy czekaj\u0105 jakie\u015b dane.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Czytaj bajty.\n\nExample: ``uart.read()``\n\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj jak najwi\u0119cej bajt\u00f3w\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Przeczytaj bajty do ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Bufor do zapisu.\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj ``len(buf)`` bajt\u00f3w.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Przeczytaj wiersz ko\u0144cz\u0105cy si\u0119 znakiem nowej linii.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Zapisz bufor na magistrali.\n\nExample: ``uart.write('hello world')``\n\n:param buf: Obiekt bajt\u00f3w lub \u0142a\u0144cuch.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.zh-cn.json b/src/micropython/main/typeshed.zh-cn.json index aaba9d941..23f0f2312 100644 --- a/src/micropython/main/typeshed.zh-cn.json +++ b/src/micropython/main/typeshed.zh-cn.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u811a\u3001\u56fe\u50cf\u3001\u58f0\u97f3\u3001\u6e29\u5ea6\u548c\u97f3\u91cf\u3002 (Microbit)\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\u8ba1\u5212\u4ee5\u65f6\u95f4\u53c2\u6570\u6307\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u8fd0\u884c\u51fd\u6570**\u4ec5\u9650V2** \u3002 (\u5468\u671f\u6027\u8fd0\u884c)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u5728\u63d0\u4f9b\u7684\u65f6\u95f4\u95f4\u9694\u5185\u8c03\u7528\u7684\u51fd\u6570\u3002\u7528\u4f5c\u88c5\u9970\u5668\u65f6\u7701\u7565\u3002\n:param days: (\u5929) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u65e5\u671f\u6807\u8bb0\u3002\n:param h: \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5c0f\u65f6\u6807\u8bb0\u3002\n:param min: (\u5206\u949f) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5206\u949f\u6807\u8bb0\u3002\n:param s: (\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u79d2\u6807\u8bb0\u3002\n:param ms: (\u6beb\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u6beb\u79d2\u6807\u8bb0\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u8fdb\u5165 panic \uff08\u6050\u614c\uff09\u6a21\u5f0f\u3002 (\u6050\u614c)\n\nExample: ``panic(127)``\n\n:param n: \u4e00\u4e2a <= 255 \u7684\u4efb\u610f\u6574\u6570\uff0c\u4ee5\u8868\u793a\u4e00\u4e2a\u72b6\u6001\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u542f\u4e3b\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6574\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002 (\u4f11\u7720)\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6570\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u83b7\u53d6\u4e3b\u677f\u7684\u8fd0\u884c\u65f6\u95f4\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u4ee5\u6444\u6c0f\u5ea6\u4e3a\u5355\u4f4d\u83b7\u53d6 micro:bit \u7684\u6e29\u5ea6\u3002\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8bbe\u7f6e\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4e00\u4e2a\u4ecb\u4e8e 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u95f4\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u94ae ``button_a`` \u548c ``button_b`` \u7684\u7c7b\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u81ea\u8bbe\u5907\u542f\u52a8\u4ee5\u6765\u6216\u8005\u4e0a\u6b21\u8c03\u7528\u6b64\u65b9\u6cd5\u4e4b\u540e\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u83b7\u5f97\u6309\u94ae\u88ab\u6309\u4e0b\u7684\u603b\u8ba1\u6b21\u6570\uff0c\u5e76\u5728\u8fd4\u56de\u4e4b\u524d\u5c06\u8be5\u603b\u8ba1\u6b21\u6570\u91cd\u7f6e\u4e3a 0\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae a)\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6570\u5b57\u5f15\u811a\u3002 (Microbit \u6570\u5b57\u5f15\u811a)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\uff0c\u6216 0 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c06\u62c9\u53d6\u72b6\u6001\u8bbe\u7f6e\u4e3a\u4ee5\u4e0b\u4e09\u4e2a\u53ef\u80fd\u7684\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 N``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u5173\u5f15\u811a\u7684\u62c9\u53d6\u72b6\u6001\uff0c\u4f8b\u5982\uff1a ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u4e0a\u7684\u62c9\u53d6\u72b6\u6001\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u8fd4\u56de\u5f15\u811a\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u811a\u4e0a\u8f93\u51fa PWM \u4fe1\u53f7\uff0c\u5360\u7a7a\u6bd4\u4e3a ``value``\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u4e8e 0\uff080% \u5360\u7a7a\u6bd4\uff09\u548c 1023\uff08100% \u5360\u7a7a\u6bd4\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6216\u6d6e\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u6beb\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 1 \u6beb\u79d2\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u5fae\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 256 \u6beb\u79d2\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u548c\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8bfb\u53d6\u5e94\u7528\u4e8e\u5f15\u811a\u7684\u7535\u538b\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u3001\u6570\u5b57\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u68c0\u67e5\u5f15\u811a\u662f\u5426\u88ab\u89e6\u6478\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u89e6\u6478\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u6765\u81ea\u76f8\u5173\u5f15\u811a\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89e6\u6478\u611f\u5e94\u6807\u5fd7\u5f15\u811a\uff0c\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a\u7535\u5bb9\u5f0f\u89e6\u6478\u6a21\u5f0f\u3002 (\u5f15\u811a\u6807\u5fd7)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u4e8e\u5bf9 micro:bit \u626c\u58f0\u5668\u5bfb\u5740\u7684\u5f15\u811a\u3002 (\u626c\u58f0\u5668\u5f15\u811a)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u5728 micro:bit LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u7684\u56fe\u50cf\u3002 (\u56fe\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u5fc3\u5f62\u56fe\u50cf (\u5fc3\u5f62)\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u7684\u5fc3\u5f62\u56fe\u50cf\u3002 (\u5c0f\u7684\u5fc3\u5f62)\"\"\"\n HAPPY: Image\n \"\"\"\u5feb\u4e50\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5feb\u4e50)\"\"\"\n SMILE: Image\n \"\"\"\u5fae\u7b11\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u96be\u8fc7\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u96be\u8fc7)\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u9762\u90e8\u56fe\u50cf\u3002 (\u56f0\u60d1)\"\"\"\n ANGRY: Image\n \"\"\"\u6124\u6012\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6124\u6012)\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u7740\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u7761\u7740)\"\"\"\n SURPRISED: Image\n \"\"\"\u60ca\u8bb6\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u60ca\u8bb6)\"\"\"\n SILLY: Image\n \"\"\"\u50bb\u50bb\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u50bb\u7684)\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u58a8\u955c\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6781\u597d\u7684)\"\"\"\n MEH: Image\n \"\"\"\u5370\u8c61\u5e73\u5e73\u7684\u8138\u90e8\u56fe\u50cf (\u4e0d\u611f\u5174\u8da3\u7684)\"\"\"\n YES: Image\n \"\"\"\u5bf9\u52fe\u56fe\u50cf\u3002 (\u662f\u7684)\"\"\"\n NO: Image\n \"\"\"\u6253\u53c9\u56fe\u50cf\u3002 (\u4e0d\u662f)\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u9488\u6307\u5411 12 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f12\u70b9)\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u9488\u6307\u5411 11 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f11\u70b9)\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u9488\u6307\u5411 10 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f10\u70b9)\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u9488\u6307\u5411 9 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f9\u70b9)\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u9488\u6307\u5411 8 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f8\u70b9)\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u9488\u6307\u5411 7 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f7\u70b9)\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u9488\u6307\u5411 6 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f6\u70b9)\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u9488\u6307\u5411 5 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f5\u70b9)\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u9488\u6307\u5411 4 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f4\u70b9)\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u9488\u6307\u5411 3 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f3\u70b9)\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u9488\u6307\u5411 2 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f2\u70b9)\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u9488\u6307\u5411 1 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f1\u70b9)\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5317\uff09)\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u4e1c\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5317\uff09)\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u4e1c\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\uff09)\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u4e1c\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5357\uff09)\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7684\u7bad\u5934\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5357\uff09)\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5357\uff09)\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\uff09)\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5317\uff09)\"\"\"\n TRIANGLE: Image\n \"\"\"\u5411\u4e0a\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u4e09\u89d2)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u5de6\u89d2\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u5de6\u4e09\u89d2)\"\"\"\n CHESSBOARD: Image\n \"\"\"\u6309\u68cb\u76d8\u5f0f\u4ea4\u66ff\u70b9\u4eae LED\u3002 (\u56fd\u9645\u8c61\u68cb\u68cb\u76d8)\"\"\"\n DIAMOND: Image\n \"\"\"\u94bb\u77f3\u56fe\u50cf\u3002 (\u83f1\u5f62)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u94bb\u77f3\u56fe\u50cf\u3002 (\u5c0f\u7684\u83f1\u5f62)\"\"\"\n SQUARE: Image\n \"\"\"\u65b9\u5f62\u56fe\u50cf\u3002 (\u6b63\u65b9\u5f62)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u7684\u65b9\u5f62\u56fe\u50cf\u3002 (\u5c0f\u65b9\u5f62)\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u56fe\u50cf\u3002 (\u5154\u5b50)\"\"\"\n COW: Image\n \"\"\"\u5976\u725b\u56fe\u50cf\u3002 (\u725b)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u97f3\u4e50\u97f3\u7b26\u56fe\u50cf (\u97f3\u4e50\u97f3\u7b26)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u516b\u5206\u97f3\u7b26)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u5bf9\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u4e00\u5bf9\u516b\u5206\u97f3\u7b26)\"\"\"\n PITCHFORK: Image\n \"\"\"\u5e72\u8349\u53c9\u56fe\u50cf\u3002 (\u5e72\u8349\u53c9)\"\"\"\n XMAS: Image\n \"\"\"\u5723\u8bde\u6811\u56fe\u50cf\u3002 (\u5723\u8bde\u8282)\"\"\"\n PACMAN: Image\n \"\"\"\u5403\u8c46\u4eba\u6e38\u620f\u89d2\u8272\u56fe\u50cf\u3002 (\u5403\u8c46\u4eba)\"\"\"\n TARGET: Image\n \"\"\"\u76ee\u6807\u56fe\u50cf (\u76ee\u6807)\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u56fe\u50cf\u3002 (T\u6064)\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f6e\u6ed1\u56fe\u50cf\u3002 (\u8f6e\u6ed1)\"\"\"\n DUCK: Image\n \"\"\"\u9e2d\u5b50\u56fe\u50cf\u3002 (\u9e2d\u5b50)\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u56fe\u50cf\u3002 (\u623f\u5b50)\"\"\"\n TORTOISE: Image\n \"\"\"\u4e4c\u9f9f\u56fe\u50cf\u3002 (\u4e4c\u9f9f)\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u56fe\u50cf (\u8774\u8776)\"\"\"\n STICKFIGURE: Image\n \"\"\"\u706b\u67f4\u4eba\u56fe\u50cf\u3002 (\u7b80\u7b14\u4eba\u7269\u753b)\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u7075\u56fe\u50cf\u3002 (\u5e7d\u7075)\"\"\"\n SWORD: Image\n \"\"\"\u5229\u5251\u56fe\u50cf\u3002 (\u5251)\"\"\"\n GIRAFFE: Image\n \"\"\"\u957f\u9888\u9e7f\u56fe\u50cf\u3002 (\u957f\u9888\u9e7f)\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9ac5\u56fe\u50cf\u3002 (\u9ab7\u9ac5)\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u4f1e\u56fe\u50cf\u3002 (\u96e8\u4f1e)\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u56fe\u50cf\u3002 (\u86c7)\"\"\"\n SCISSORS: Image\n \"\"\"\u526a\u5200\u56fe\u50cf\u3002 (\u526a\u5200)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 CLOCK_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u65f6\u949f\uff09\u3002 (\u6240\u6709\u65f6\u949f)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 ARROW_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u7bad\u5934\uff09\u3002 (\u6240\u6709\u7bad\u5934)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u6839\u636e\u63cf\u8ff0\u70b9\u4eae LED \u7684\u5b57\u7b26\u4e32\u6765\u521b\u5efa\u4e00\u5e45\u56fe\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u56fe\u50cf\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u521b\u5efa\u4e00\u5e45\u5177\u6709 ``width`` \u5217\u548c ``height`` \u884c\u7684\u7a7a\u767d\u56fe\u50cf\u3002\n\n:param width: (\u5bbd\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u5bbd\u5ea6\n:param height: (\u9ad8\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u9ad8\u5ea6\n:param buffer: (\u7f13\u51b2\u533a) \u7528\u53ef\u9009\u6570\u7ec4\u6216\u5728 0-9 \u8303\u56f4\u5185\u7684 ``width`` \u00d7 ``height`` \u6574\u6570\u5b57\u8282\u6765\u521d\u59cb\u5316\u56fe\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u83b7\u53d6\u5217\u6570\u3002 (\u5bbd\u5ea6)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u83b7\u53d6\u884c\u6570\u3002 (\u9ad8\u5ea6)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:param value: \u7528 0\uff08\u6697\uff09\u548c 9\uff08\u4eae\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6765\u4ee3\u8868\u4eae\u5ea6\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u5de6\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u53f3\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0a\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0b\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u901a\u8fc7\u88c1\u526a\u56fe\u7247\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u88c1\u526a)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u504f\u79fb\u5217\n:param y: \u88c1\u526a\u504f\u79fb\u884c\n:param w: \u88c1\u526a\u5bbd\u5ea6\n:param h: \u88c1\u526a\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u521b\u5efa\u56fe\u50cf\u7684\u7cbe\u786e\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u901a\u8fc7\u53cd\u8f6c\u6e90\u56fe\u50cf\u4e2d\u50cf\u7d20\u7684\u4eae\u5ea6\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u53cd\u8f6c)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u56fe\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002 (\u586b\u5145)\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u4e3a 0 (\u6697) \u548c 9 (\u660e) \u4e4b\u95f4\u7684\u6570\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u590d\u5236\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4e00\u90e8\u5206\u533a\u57df\u5230\u8fd9\u5e45\u56fe\u50cf\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (\u6765\u6e90) \u6e90\u56fe\u50cf\n:param x: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u5217\u504f\u79fb\u91cf\n:param y: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u884c\u504f\u79fb\u91cf\n:param w: \u8981\u590d\u5236\u7684\u5217\u6570\n:param h: \u8981\u590d\u5236\u7684\u884c\u6570\n:param xdest: (x\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u504f\u79fb\u91cf\n:param ydest: (y\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u504f\u79fb\u91cf\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u7f29\u5c0f\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u8868\u793a)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u53ef\u8bfb\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u5b57\u7b26\u4e32)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u4e24\u5e45\u56fe\u50cf\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u503c\u76f8\u52a0\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (\u5176\u4ed6) \u8981\u6dfb\u52a0\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u4ece\u6b64\u56fe\u50cf\u4e2d\u51cf\u53bb\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4eae\u5ea6\u503c\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u51cf\u53bb)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (\u5176\u4ed6) \u8981\u51cf\u53bb\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u76f8\u4e58)\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u76f8\u4e58\u7684\u6570\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u9664\u4ee5)\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u6570\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``quiet``\u5230``loud``\u7684\u8fc7\u6e21\uff0c\u5982\u62cd\u624b\u6216\u8005\u558a\u53eb\u3002 (\u5927\u58f0)\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``loud``\u5230``quiet``\u7684\u8fc7\u6e21\uff0c\u5982\u8bf4\u8bdd\u6216\u8005\u80cc\u666f\u97f3\u4e50\u3002 (\u5b89\u9759)\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8c03\u7528\u5185\u7f6e\u58f0\u97f3\u3002 (\u58f0\u97f3)\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7684\u58f0\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u5feb\u4e50\u7684\u58f0\u97f3\u3002 (\u5feb\u4e50)\"\"\"\n HELLO: Sound\n \"\"\"\u95ee\u5019\u58f0\u3002 (\u4f60\u597d)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u79d8\u7684\u58f0\u97f3 (\u795e\u79d8\u7684)\"\"\"\n SAD: Sound\n \"\"\"\u60b2\u4f24\u7684\u58f0\u97f3\u3002 (\u96be\u8fc7)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52a8\u58f0\u3002 (\u6ed1\u52a8)\"\"\"\n SOARING: Sound\n \"\"\"\u7ff1\u7fd4\u7684\u58f0\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u6625\u5929\u7684\u58f0\u97f3\u3002 (\u5f39\u7c27)\"\"\"\n TWINKLE: Sound\n \"\"\"\u95ea\u70c1\u7684\u58f0\u97f3\u3002 (\u95ea\u70c1)\"\"\"\n YAWN: Sound\n \"\"\"\u6253\u54c8\u6b20\u7684\u58f0\u97f3\u3002 (\u6253\u54c8\u6b20)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6d4b\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u5e76\u8bc6\u522b\u624b\u52bf\u3002 (\u52a0\u901f\u5ea6\u4f20\u611f\u5668)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u83b7\u53d6\u6240\u6709\u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u4f5c\u4e3a\u5143\u7ec4\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u4ee5\u6b63\u6574\u6570\u5f62\u5f0f\u83b7\u53d6\u6240\u6709\u8f74\u7ec4\u5408\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u3002\u8fd9\u662f X\u3001Y \u548c Z \u8f74\u7684\u6bd5\u8fbe\u54e5\u62c9\u65af\uff08Pythagorean\uff09\u548c\u3002 (\u83b7\u53d6\u5f3a\u5ea6)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u83b7\u53d6\u5f53\u524d\u624b\u52bf\u7684\u540d\u79f0\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u5f53\u524d\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u81ea\u4e0a\u6b21\u8c03\u7528\u540e\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u8fd4\u56de\u624b\u52bf\u5386\u53f2\u7684\u5143\u7ec4\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u5c06\u52a0\u901f\u5ea6\u8ba1\u7075\u654f\u5ea6\u8303\u56f4\uff08\u4ee5 g\uff08\u6807\u51c6\u91cd\u529b\uff09\u4e3a\u5355\u4f4d\uff09\u8bbe\u7f6e\u4e3a\u786c\u4ef6\u652f\u6301\u7684\u6700\u63a5\u8fd1\u7684\u503c\uff0c\u56e0\u6b64\u5b83\u4f1a\u53d6\u8fd1\u4f3c\u503c\u4e3a ``2``\u3001``4`` \u6216 ``8`` g\u3002 (\u8bbe\u7f6e\u8303\u56f4)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u8ba1\u7684\u65b0\u8303\u56f4\uff0c``g`` \u4e2d\u7684\u6574\u6570\u3002\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u58f0\u97f3\uff08\u5bfc\u5165 ``audio`` \u4ee5\u517c\u5bb9 V1\uff09\u3002 (\u97f3\u9891)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u64ad\u653e\u5185\u7f6e\u58f0\u97f3\u3001\u97f3\u6548\u6216\u81ea\u5b9a\u4e49\u97f3\u9891\u5e27\u3002 (\u64ad\u653e)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (\u6765\u6e90) \u5185\u7f6e\u7684 ``Sound``\uff0c\u4f8b\u5982 ``Sound.GIGGLE``\u3001``SoundEffect`` \u6216\u4f5c\u4e3a ``AudioFrame`` \u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u6837\u672c\u6570\u636e\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``, \u6b64\u51fd\u6570\u5c06\u4f1a\u963b\u585e\u76f4\u5230\u58f0\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c \u7528\u4e8e\u6307\u5b9a\u53ef\u8986\u76d6\u9ed8\u8ba4 ``pin0`` \u7684\u8f93\u51fa\u5f15\u811a\u3002 \u5982\u679c\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u4e00\u4e2a\u5dee\u5206\u8fb9\u7f18\u8fde\u63a5\u5668\u5f15\u811a\u4ee5\u8fde\u63a5\u5230\u5916\u90e8\u626c\u58f0\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5bf9\u4e8e **V2** \u4fee\u8ba2\u7248\uff0c\u8fd9\u5c06\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u5728\u64ad\u653e\u58f0\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u9891\u64ad\u653e\u3002 (\u505c\u6b62)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u4e00\u79cd\u97f3\u6548\uff0c\u7531\u4e00\u7ec4\u901a\u8fc7\u6784\u9020\u51fd\u6570\u6216\u5c5e\u6027\u914d\u7f6e\u7684\u53c2\u6570\u7ec4\u6210\u3002 (\u97f3\u6548)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u6b63\u5f26\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u6b63\u5f26)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u952f\u9f7f\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u952f\u9f7f)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u4e09\u89d2\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u4e09\u89d2)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u65b9\u6ce2\u9009\u9879\u3002 (\u65b9\u6ce2)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u566a\u58f0\u9009\u9879\u3002 (\u6ce2\u5f62\u566a\u58f0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u7ebf\u6027\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u7ebf\u6027)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u66f2\u7ebf\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u66f2\u7ebf)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u5bf9\u6570\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u65e5\u5fd7)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"\u6ca1\u6709\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u6548\u679c\u9009\u9879\u3002 (fx \u65e0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u91cf\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u91cf\u98a4\u97f3)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u9ad8\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u9ad8\u98a4\u97f3)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u67d4\u548c\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u67d4\u548c\u98a4\u97f3)\"\"\"\n freq_start: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u9891\u7387)\"\"\"\n freq_end: int\n \"\"\"\u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u9891\u7387)\"\"\"\n duration: int\n \"\"\"\u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u6301\u7eed)\"\"\"\n vol_start: int\n \"\"\"\u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u97f3\u91cf\u503c)\"\"\"\n vol_end: int\n \"\"\"\u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u97f3\u91cf\u503c)\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3) (\u6ce2\u5f62)\"\"\"\n fx: int\n \"\"\"\u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u7387\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (\u5f62\u72b6)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u521b\u5efa\u65b0\u7684\u97f3\u6548\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (\u5f00\u59cb\u9891\u7387) \u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param freq_end: (\u7ed3\u675f\u9891\u7387) \u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param duration: (\u6301\u7eed) \u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_start: (\u5f00\u59cb\u97f3\u91cf\u503c) \u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_end: (\u7ed3\u675f\u97f3\u91cf\u503c) \u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param waveform: (\u6ce2\u5f62) \u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3).\n:param fx: \u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``.\n:param shape: (\u5f62\u72b6) \u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u5ea6\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u521b\u5efa\u6b64 ``SoundEffect`` \u7684\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u5bf9\u8c61\u662f \u4e00\u4e2a\u5305\u542b 32 \u4e2a\u6837\u672c\u7684\u5217\u8868\uff0c\u6bcf\u4e2a\u6837\u672c\u90fd\u662f\u4e00\u4e2a\u65e0\u7b26\u53f7\u5b57\u8282\n\uff080 \u5230 255 \u4e4b\u95f4\u7684\u6574\u6570\uff09\u3002 (\u97f3\u9891\u5e27)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u7528\u5176\u4ed6 ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u7684\u6570\u636e\u8986\u76d6\u6b64 ``AudioFrame`` \u4e2d\u7684\u6570\u636e\u3002 (\u590d\u5236)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (\u5176\u4ed6) \u4ece ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u590d\u5236\u6570\u636e\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -45,7 +45,7 @@ "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5185\u7f6e\u626c\u58f0\u5668\uff08\u4ec5\u9650 V2\uff09\u3002 (\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b)\"\"\"\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u5173\u95ed)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u6253\u5f00)\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u6570\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:param out: (\u5199\u51fa) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u4e32\u884c\u63a5\u53e3\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u901a\u7528\u5f02\u6b65\u6536\u53d1\u5668\uff08UART\uff09)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6821\u9a8c (\u5947\u6570)\"\"\"\nEVEN: int\n\"\"\"\u5076\u6821\u9a8c (\u5076\u6570)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u901a\u4fe1\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d\u6570) \u6b63\u5728\u4f20\u8f93\u7684\u5b57\u8282\u5927\u5c0f\u3002micro:bit \u4ec5\u652f\u6301 8 \u5b57\u8282\u3002\n:param parity: (\u5947\u5076\u6821\u9a8c) \u5982\u4f55\u68c0\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: (\u505c\u6b62) \u505c\u6b62\u4f4d\u7684\u6570\u91cf\uff0c\u5bf9\u4e8e micro:bit\uff0c\u5fc5\u987b\u4e3a 1\u3002\n:param tx: (\u53d1\u9001\u5f15\u811a) \u4f20\u8f93\u5f15\u811a\u3002\n:param rx: (\u63a5\u6536\u5f15\u811a) \u63a5\u6536\u5f15\u811a\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u6709\u4efb\u4f55\u6570\u636e\u6b63\u5728\u7b49\u5f85\u3002 (\u4efb\u4f55)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``uart.read()``\n\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6\u5c3d\u53ef\u80fd\u591a\u7684\u5b57\u8282\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u5230 ``buf``\u3002 (\u8bfb\u5165)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (\u7f13\u51b2\u533a) \u8981\u5199\u5165\u7684\u7f13\u5b58\u3002\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6 ``len(buf)`` \u4e2a\u5b57\u8282\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u4e00\u884c\uff0c\u4ee5\u6362\u884c\u7b26\u7ed3\u5c3e\u3002 (\u8bfb\u53d6\u4e00\u884c)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c06\u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (\u7f13\u51b2\u533a) \u4e00\u4e2a\u5b57\u8282\u5bf9\u8c61\u6216\u4e00\u4e2a\u5b57\u7b26\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file diff --git a/src/micropython/main/typeshed.zh-tw.json b/src/micropython/main/typeshed.zh-tw.json index cab153670..53994a10a 100644 --- a/src/micropython/main/typeshed.zh-tw.json +++ b/src/micropython/main/typeshed.zh-tw.json @@ -34,7 +34,7 @@ "/typeshed/stdlib/ustruct.pyi": "from struct import *\n", "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", - "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u8173\u3001\u5f71\u50cf\u3001\u8072\u97f3\u3001\u6eab\u5ea6\u548c\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u9032\u5165\u7dca\u6025\u6a21\u5f0f\u3002\n\nExample: ``panic(127)``\n\n:param n: \u4efb\u610f\u6574\u6578 <= 255 \u4ee5\u8868\u793a\u72c0\u614b\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u555f\u958b\u767c\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6578\u3002\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u53d6\u5f97\u958b\u767c\u677f\u7684\u57f7\u884c\u6642\u9593\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u53d6\u5f97 micro:bit \u7684\u6eab\u5ea6 (\u4ee5\u651d\u6c0f\u70ba\u55ae\u4f4d)\u3002 (\u6eab\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8a2d\u5b9a\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4ecb\u65bc 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u9593\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u9215 ``button_a`` \u548c ``button_b`` \u7684\u985e\u5225\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u6309\u9215\u662f\u5426\u6709\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u88dd\u7f6e\u555f\u52d5\u6216\u4e0a\u6b21\u547c\u53eb\u6b64\u65b9\u6cd5\u4ee5\u4f86\uff0c\u662f\u5426\u6709\u6309\u4e0b\u8a72\u6309\u9215\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u53d6\u5f97\u6309\u4e0b\u6309\u9215\u7684\u57f7\u884c\u7e3d\u6578\uff0c\u4e26\u5728\u50b3\u56de\u524d\u5c07\u6b64\u7e3d\u6578\u91cd\u8a2d\u70ba\u96f6\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6578\u4f4d\u5f15\u8173\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c07\u5f15\u8173\u8a2d\u70ba\u9ad8\u96fb\u5e73\uff0c\u6216 0 \u5c07\u5f15\u8173\u8a2d\u70ba\u4f4e\u96fb\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c07\u63d0\u53d6\u72c0\u614b\u8a2d\u70ba\u4e09\u500b\u53ef\u80fd\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 ``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684\u63d0\u53d6\u72c0\u614b\uff0c\u4f8b\u5982 ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u4e0a\u7684\u63d0\u53d6\u72c0\u614b\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u50b3\u56de\u5f15\u8173\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u8173\u4e0a\u8f38\u51fa PWM \u8a0a\u865f\uff0c\u5de5\u4f5c\u9031\u671f\u8207 ``value`` \u6210\u6b63\u6bd4\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u65bc 0 (0% \u5de5\u4f5c\u9031\u671f) \u548c 1023 (100% \u5de5\u4f5c\u9031\u671f) \u4e4b\u9593\u7684\u6574\u6578\u6216\u6d6e\u9ede\u6578\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u548c\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8b80\u53d6\u65bd\u52a0\u5230\u5f15\u8173\u7684\u96fb\u58d3\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u3001\u6578\u4f4d\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u6aa2\u67e5\u5f15\u8173\u662f\u5426\u53d7\u89f8\u63a7\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u89f8\u63a7\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89f8\u63a7\u611f\u61c9\u6a19\u8a8c\u5f15\u8173\uff0c\u9810\u8a2d\u70ba\u96fb\u5bb9\u5f0f\u89f8\u63a7\u6a21\u5f0f\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u65bc\u5b9a\u5740 micro:bit \u63da\u8072\u5668\u7684\u5f15\u8173\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u8981\u5728 micro:bit LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u7684\u5716\u50cf\u3002 (\u5716\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u958b\u5fc3\u7684\u81c9\u5716\u50cf\u3002 (\u958b\u5fc3)\"\"\"\n SMILE: Image\n \"\"\"\u7b11\u81c9\u5716\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u50b7\u5fc3\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u751f\u6c23\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u81c9\u5716\u50cf\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u9a5a\u8a1d\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n SILLY: Image\n \"\"\"\u9b3c\u81c9\u5716\u50cf\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u592a\u967d\u773c\u93e1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n MEH: Image\n \"\"\"\u51b7\u6f20\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n YES: Image\n \"\"\"\u52fe\u865f\u5716\u50cf\u3002\"\"\"\n NO: Image\n \"\"\"\u53c9\u865f\u5716\u50cf\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u91dd\u6307\u5411 12 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u91dd\u6307\u5411 11 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u91dd\u6307\u5411 10 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u91dd\u6307\u5411 9 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u91dd\u6307\u5411 8 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u91dd\u6307\u5411 7 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u91dd\u6307\u5411 6 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u91dd\u6307\u5411 5 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u91dd\u6307\u5411 4 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u91dd\u6307\u5411 3 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u91dd\u6307\u5411 2 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u91dd\u6307\u5411 1 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u6771\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u6771\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u6771\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u4e0a\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u5de6\u7684\u5716\u50cf\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u4ee5\u68cb\u76e4\u5716\u6848\u4ea4\u932f\u767c\u4eae\u7684 LED \u71c8\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u5716\u50cf\u3002\"\"\"\n COW: Image\n \"\"\"\u4e73\u725b\u5716\u50cf\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u56db\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u7d44\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u4e7e\u8349\u53c9\u5716\u50cf\u3002\"\"\"\n XMAS: Image\n \"\"\"\u8056\u8a95\u6a39\u5716\u50cf\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u5c0f\u7cbe\u9748\u8857\u6a5f\u89d2\u8272\u5716\u50cf\u3002\"\"\"\n TARGET: Image\n \"\"\"\u9776\u5b50\u5716\u50cf\u3002\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u5716\u50cf\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f2a\u5f0f\u6e9c\u51b0\u978b\u5716\u50cf\u3002\"\"\"\n DUCK: Image\n \"\"\"\u9d28\u5b50\u5716\u50cf\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u5716\u50cf\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u9678\u9f9c\u5716\u50cf\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u5716\u50cf\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u7c21\u7b46\u756b\u5716\u50cf\u3002\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u9748\u5716\u50cf\u3002\"\"\"\n SWORD: Image\n \"\"\"\u528d\u5716\u50cf\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u9577\u9838\u9e7f\u5716\u50cf\u3002\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9acf\u982d\u5716\u50cf\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u5098\u5716\u50cf\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u5716\u50cf\u3002\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 CLOCK_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 ARROW_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u5f9e\u63cf\u8ff0\u9ede\u4eae\u54ea\u4e9b LED \u7684\u5b57\u4e32\u5efa\u7acb\u5716\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u5716\u50cf\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u5efa\u7acb\u4e00\u500b ``width`` \u884c ``height`` \u5217\u7684\u7a7a\u767d\u5716\u50cf\u3002\n\n:param width: \u53ef\u9078\u7684\u5716\u50cf\u5bec\u5ea6\n:param height: \u53ef\u9078\u7684\u5716\u50cf\u9ad8\u5ea6\n:param buffer: \u7528\u53ef\u9078\u9663\u5217\u6216\u5728 0-9 \u7bc4\u570d\u5167\u7684 ``width``\u00d7``height`` \u6574\u6578\u4f4d\u5143\u7d44\uff0c\u4f86\u521d\u59cb\u5316\u5716\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u53d6\u5f97\u884c\u6578\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u53d6\u5f97\u5217\u6578\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:param value: \u4eae\u5ea6\u70ba\u4ecb\u65bc 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6574\u6578\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u5411\u5de6\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u5411\u53f3\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u5411\u4e0a\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u900f\u904e\u5411\u4e0b\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u900f\u904e\u88c1\u526a\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u4f4d\u79fb\u884c\n:param y: \u88c1\u526a\u4f4d\u79fb\u5217\n:param w: \u526a\u88c1\u5bec\u5ea6\n:param h: \u526a\u88c1\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u5efa\u7acb\u5716\u50cf\u7684\u7cbe\u78ba\u526f\u672c\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u900f\u904e\u53cd\u8f49\u4f86\u6e90\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5716\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u70ba 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6578\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u5c07\u53e6\u4e00\u500b\u5716\u50cf\u4e2d\u7684\u4e00\u500b\u5340\u57df\u8907\u88fd\u5230\u8a72\u5716\u50cf\u4e2d\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u4f86\u6e90\u5716\u50cf\n:param x: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u884c\u4f4d\u79fb\n:param y: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u5217\u4f4d\u79fb\n:param w: \u8981\u8907\u88fd\u7684\u884c\u6578\n:param h: \u8981\u8907\u88fd\u7684\u5217\u6578\n:param xdest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u4f4d\u79fb\n:param ydest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u4f4d\u79fb\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u7dca\u6e4a\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u53ef\u8b80\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5169\u500b\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\u503c\u76f8\u52a0\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u8981\u65b0\u589e\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5f9e\u8a72\u5716\u50cf\u4e2d\u6e1b\u53bb\u53e6\u4e00\u500b\u5716\u50cf\u7684\u4eae\u5ea6\u503c\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u8981\u6e1b\u53bb\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u4e58\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``quiet`` \u5230 ``loud``\uff0c\u5982\u9f13\u638c\u6216\u558a\u53eb\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``loud`` \u5230 ``quiet``\u3002\u4f8b\u5982\uff0c\u8aaa\u8a71\u6216\u80cc\u666f\u97f3\u6a02\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8abf\u7528\u5167\u5efa\u8072\u97f3\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7b11\u7684\u8072\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u958b\u5fc3\u7684\u8072\u97f3\u3002 (\u958b\u5fc3)\"\"\"\n HELLO: Sound\n \"\"\"\u6b61\u8fce\u7684\u8072\u97f3\u3002 (\u54c8\u56c9)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u7955\u7684\u8072\u97f3\u3002 (\u795e\u79d8)\"\"\"\n SAD: Sound\n \"\"\"\u96e3\u904e\u7684\u8072\u97f3\u3002 (\u96e3\u904e)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52d5\u7684\u8072\u97f3\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u9ad8\u6602\u7684\u8072\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u5f48\u8df3\u7684\u8072\u97f3\u3002 (\u5f48\u8df3)\"\"\"\n TWINKLE: Sound\n \"\"\"\u767c\u4eae\u7684\u8072\u97f3\u3002 (\u767c\u4eae)\"\"\"\n YAWN: Sound\n \"\"\"\u5475\u6b20\u7684\u8072\u97f3\u3002\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6e2c\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u4e26\u8b58\u5225\u624b\u52e2\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u53d6\u5f97\u6240\u6709\u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c\u505a\u70ba\u5143\u7d44\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u53d6\u5f97\u76ee\u524d\u624b\u52e2\u7684\u540d\u7a31\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u7684\u624b\u52e2\u76ee\u524d\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u624b\u52e2\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u50b3\u56de\u624b\u52e2\u6b77\u53f2\u7d00\u9304\u7684\u5143\u7d44\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u8072\u97f3 (\u532f\u5165 ``audio`` \u8207 V1 \u76f8\u5bb9)\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u6703\u5c01\u9396\uff0c\u76f4\u5230\u8072\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\u5982\u679c\u6211\u5011\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u5dee\u5206\u908a\u7de3\u9023\u63a5\u5668\u5f15\u8173\uff0c\u4ee5\u9023\u63a5\u5230\u5916\u90e8\u63da\u8072\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5728 **V2** \u4fee\u8a02\u7248\u4e2d\uff0c\u9019\u5c07\u6703\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6b63\u5728\u64ad\u653e\u8072\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u8a0a\u64ad\u653e\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u7269\u4ef6\u662f 32 \u500b\u6a23\u672c\u7684\u5217\u8868\uff0c\u6bcf\u500b\u6a23\u672c\u90fd\u662f\u4e00\u500b\u7121\u7b26\u865f\u4f4d\u5143\u7d44 (0 \u5230 255 \u4e4b\u9593\u7684\u6574\u6578)\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", @@ -45,7 +45,7 @@ "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5167\u5efa\u63da\u8072\u5668 (\u50c5\u9650 V2)\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u63da\u8072\u5668\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u63da\u8072\u5668\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u4f7f\u7528\u5468\u908a\u8a2d\u5099\u4ecb\u9762 (SPI) \u532f\u6d41\u6392\u8207\u88dd\u7f6e\u9032\u884c\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316 SPI \u901a\u8a0a\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6bcf\u6b21\u50b3\u8f38\u7684\u4f4d\u5143\u5bec\u5ea6\u3002\u76ee\u524d\u50c5\u652f\u63f4 ``bits=8``\u3002\u7136\u800c\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u672a\u4f86\u53ef\u80fd\u6703\u6539\u8b8a\u3002\n:param mode: \u78ba\u5b9a\u6642\u8108\u6975\u6027\u548c\u76f8\u4f4d\u7684\u7d44\u5408 - \u8acb\u898b\u7dda\u4e0a\u8868\u683c `_\u3002\n:param sclk: sclk \u5f15\u8173 (\u9810\u8a2d 13)\n:param mosi: mosi \u5f15\u8173 (\u9810\u8a2d 15)\n:param miso: miso \u5f15\u8173 (\u9810\u8a2d 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8981\u8b80\u53d6\u7684\u6700\u5927\u4f4d\u5143\u7d44\u6578\u3002\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u8b80\u53d6\u8cc7\u6599\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c07 ``out`` \u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\uff0c\u4e26\u5c07\u4efb\u4f55\u56de\u61c9\u5beb\u5165 ``in_`` \u7de9\u885d\u5340\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u8981\u5beb\u5165\u4efb\u4f55\u56de\u61c9\u7684\u7de9\u885d\u5340\u3002\n:param in_: \u8981\u5f9e\u4e2d\u8b80\u53d6\u8cc7\u6599\u7684\u7de9\u885d\u5340\u3002\"\"\"\n ...", "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u5e8f\u5217\u4ecb\u9762\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\nEVEN: int\n\"\"\"\u5076\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u5e8f\u5217\u901a\u8a0a\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6b63\u5728\u50b3\u8f38\u7684\u4f4d\u5143\u7d44\u5927\u5c0f\uff0cmicro:bit \u53ea\u652f\u63f4 8\u3002\n:param parity: \u5982\u4f55\u6aa2\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: \u505c\u6b62\u4f4d\u5143\u7684\u6578\u91cf\uff0cmicro:bit \u5fc5\u9808\u70ba 1\u3002\n:param tx: \u50b3\u8f38\u5f15\u8173\u3002\n:param rx: \u6b63\u5728\u63a5\u6536\u5f15\u8173\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6709\u4efb\u4f55\u8cc7\u6599\u6b63\u5728\u7b49\u5f85\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6\u76e1\u53ef\u80fd\u591a\u7684\u4f4d\u5143\u7d44\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u8b80\u5165 ``buf``\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6 ``len(buf)`` \u500b\u4f4d\u5143\u7d44\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4e00\u884c\uff0c\u4ee5\u65b0\u884c\u5b57\u5143\u7d50\u5c3e\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c07\u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u4e00\u500b\u4f4d\u5143\u7d44\u7269\u4ef6\u6216\u4e00\u500b\u5b57\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", - "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } } \ No newline at end of file From 28baa0049ae53ff92fc3691b5b1e671fe0c5dad5 Mon Sep 17 00:00:00 2001 From: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:43:14 +0000 Subject: [PATCH 19/19] Audit fix (#1202) --- package-lock.json | 476 +++++++++++++++++++++++++++------------------- 1 file changed, 279 insertions(+), 197 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c85a5423..3ede35882 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3243,9 +3243,9 @@ "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "cpu": [ "ppc64" ], @@ -4132,9 +4132,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", - "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz", + "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==", "cpu": [ "arm" ], @@ -4144,9 +4144,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", - "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz", + "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==", "cpu": [ "arm64" ], @@ -4156,9 +4156,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", - "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz", + "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==", "cpu": [ "arm64" ], @@ -4168,9 +4168,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", - "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz", + "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==", "cpu": [ "x64" ], @@ -4179,10 +4179,46 @@ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz", + "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz", + "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", - "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz", + "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz", + "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==", "cpu": [ "arm" ], @@ -4192,9 +4228,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", - "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz", + "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==", "cpu": [ "arm64" ], @@ -4204,9 +4240,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", - "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz", + "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==", "cpu": [ "arm64" ], @@ -4215,10 +4251,34 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz", + "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz", + "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", - "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz", + "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==", "cpu": [ "riscv64" ], @@ -4227,10 +4287,22 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz", + "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", - "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz", + "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==", "cpu": [ "x64" ], @@ -4240,9 +4312,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", - "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz", + "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==", "cpu": [ "x64" ], @@ -4252,9 +4324,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", - "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz", + "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==", "cpu": [ "arm64" ], @@ -4264,9 +4336,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", - "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz", + "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==", "cpu": [ "ia32" ], @@ -4276,9 +4348,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", - "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz", + "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==", "cpu": [ "x64" ], @@ -4868,9 +4940,9 @@ "dev": true }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/file-saver": { "version": "2.0.7", @@ -6032,12 +6104,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -6569,9 +6641,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -6818,9 +6890,9 @@ "dev": true }, "node_modules/dompurify": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz", - "integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==" + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.8.tgz", + "integrity": "sha512-o1vSNgrmYMQObbSSvF/1brBYEQPHhV1+gsmrusO7/GXtp1T9rCS8cXFqVxK/9crT1jA6Ccv+5MTSjBNqr7Sovw==" }, "node_modules/dot-case": { "version": "3.0.4", @@ -7634,9 +7706,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -9631,12 +9703,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -9721,9 +9793,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", @@ -10067,9 +10139,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -10148,9 +10220,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -10167,8 +10239,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -10683,11 +10755,11 @@ } }, "node_modules/rollup": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", - "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz", + "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -10697,19 +10769,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.13.0", - "@rollup/rollup-android-arm64": "4.13.0", - "@rollup/rollup-darwin-arm64": "4.13.0", - "@rollup/rollup-darwin-x64": "4.13.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", - "@rollup/rollup-linux-arm64-gnu": "4.13.0", - "@rollup/rollup-linux-arm64-musl": "4.13.0", - "@rollup/rollup-linux-riscv64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-musl": "4.13.0", - "@rollup/rollup-win32-arm64-msvc": "4.13.0", - "@rollup/rollup-win32-ia32-msvc": "4.13.0", - "@rollup/rollup-win32-x64-msvc": "4.13.0", + "@rollup/rollup-android-arm-eabi": "4.28.1", + "@rollup/rollup-android-arm64": "4.28.1", + "@rollup/rollup-darwin-arm64": "4.28.1", + "@rollup/rollup-darwin-x64": "4.28.1", + "@rollup/rollup-freebsd-arm64": "4.28.1", + "@rollup/rollup-freebsd-x64": "4.28.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.28.1", + "@rollup/rollup-linux-arm-musleabihf": "4.28.1", + "@rollup/rollup-linux-arm64-gnu": "4.28.1", + "@rollup/rollup-linux-arm64-musl": "4.28.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.28.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1", + "@rollup/rollup-linux-riscv64-gnu": "4.28.1", + "@rollup/rollup-linux-s390x-gnu": "4.28.1", + "@rollup/rollup-linux-x64-gnu": "4.28.1", + "@rollup/rollup-linux-x64-musl": "4.28.1", + "@rollup/rollup-win32-arm64-msvc": "4.28.1", + "@rollup/rollup-win32-ia32-msvc": "4.28.1", + "@rollup/rollup-win32-x64-msvc": "4.28.1", "fsevents": "~2.3.2" } }, @@ -10958,9 +11036,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } @@ -11725,13 +11803,13 @@ } }, "node_modules/vite": { - "version": "5.2.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", - "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" @@ -11750,6 +11828,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -11767,6 +11846,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -11845,9 +11927,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ "arm" ], @@ -11860,9 +11942,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "cpu": [ "arm64" ], @@ -11875,9 +11957,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "cpu": [ "x64" ], @@ -11890,9 +11972,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], @@ -11905,9 +11987,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "cpu": [ "x64" ], @@ -11920,9 +12002,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "cpu": [ "arm64" ], @@ -11935,9 +12017,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "cpu": [ "x64" ], @@ -11950,9 +12032,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "cpu": [ "arm" ], @@ -11965,9 +12047,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "cpu": [ "arm64" ], @@ -11980,9 +12062,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "cpu": [ "ia32" ], @@ -11995,9 +12077,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], @@ -12010,9 +12092,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "cpu": [ "mips64el" ], @@ -12025,9 +12107,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "cpu": [ "ppc64" ], @@ -12040,9 +12122,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "cpu": [ "riscv64" ], @@ -12055,9 +12137,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "cpu": [ "s390x" ], @@ -12070,9 +12152,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], @@ -12085,9 +12167,9 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "cpu": [ "x64" ], @@ -12100,9 +12182,9 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ "x64" ], @@ -12115,9 +12197,9 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "cpu": [ "x64" ], @@ -12130,9 +12212,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "cpu": [ "arm64" ], @@ -12145,9 +12227,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "cpu": [ "ia32" ], @@ -12160,9 +12242,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" ], @@ -12175,9 +12257,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -12186,29 +12268,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/vitest": { @@ -12686,9 +12768,9 @@ } }, "node_modules/workbox-build/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -12886,9 +12968,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "engines": { "node": ">=10.0.0"